pycharm 怎么快速生成文件夹结构_为什么Python代码能运行但是PyCharm给我画红线?...
PyCharm在遇到模块找不到时,会使用红色波浪线提醒开发者。这本来是一个非常好的功能,但却由于另外一个问题,会给一些Python初学者造成困扰。
这一篇文章,我们讲讲工作区导致的这个问题。
首先我们创建一个login.py文件,它的内容如下:
def login():
print('登录服务器')
再创建一个 main.py
,它的内容如下:
from login import login
print('准备登录服务器')
login()
这两个文件的文件结构如下图所示:
此时,你在PyCharm中打开main.py,你就会发现红色的波浪线,如下图所示。
此时如果使用PyCharm来运行这个main.py文件:
你会发现PyCharm运行程序毫无问题:
所以PyCharm有问题?它胡乱报错吗?
实际上不是这样的。
Python有一个工作区的概念,在默认情况下,当你使用 python xxx.py
运行一个.py文件时,工作区就是你运行的这个.py文件所在的文件夹。由于login.py和main.py文件是放在同一个文件夹里面的,所以当你直接运行main.py时,Python能够正确知道 fromloginimportlogin
是指从和main.py在一起的这个login.py文件中导入login函数。所以一切都是正常的。
当时当你使用PyCharm打开一个项目文件夹时,由于还没有运行这个项目中的某个文件,所以PyCharm会以当前打开的这个项目文件夹为工作区。
在这个例子中,PyCharm会以 代码练习
这个文件夹作为工作区。所以当我在main.py中写 fromloginimportlogin
的时候,PyCharm会从 代码练习
这个文件夹里面去需找login.py文件。显然,由于login.py在chapter_1文件夹里面,不在 代码练习
这个文件夹里面,所以PyCharm找不到,于是就会画红色波浪线。
这种情况特别常见于初学者学习别人代码的情况。例如一个Python初学者,他会把所有的爬虫相关代码都放在名为 爬虫代码
的文件夹里面,然后他下载了我的一个知乎爬虫项目,这个项目的代码是在一个叫做 ZhihuSpider
文件夹里面的。此时,他把 ZhihuSpider
文件夹放在 爬虫代码
文件夹里面,再用PyCharm打开 爬虫代码
文件夹,那么他就会看到 ZhihuSpider
项目代码里面有大量的红色波浪线。这不是代码有问题,而是PyCharm自动识别的工作区不正确导致的。
要解决这个问题也非常简单。打开PyCharm的项目设置,定位到 ProjectStructure
,如下图所示。
点击红色箭头指向的x符号,删除当前的内容,并添加新的内容,如下图所示:
把真正的项目文件夹路径添加进去,如下图所示:
点击 OK
按钮,回到PyCharm,发现它已经可以正确找到 login.py
文件了。如下图所示,红色波浪线消失。
在下一篇文章中,我们会讲到由于虚拟环境不一致导致Python代码能运行,但是PyCharm画红色波浪线的情况。
pycharm 怎么快速生成文件夹结构_为什么Python代码能运行但是PyCharm给我画红线?...相关推荐
- pycharm 怎么快速生成文件夹结构_Pycharm配置Qt工具(ubuntu18.04)
该文章主要记录如何在Pycharm中配置QtDesigner.Pyuic,使得能够很方便地在Pycharm中打开特定的ui文件进行修改并一键生成对应实际使用的py界面文件. 首先是一些基本的概念,QD ...
- 为什么python代码运行不了_为什么Python代码能运行但是PyCharm给我画红线?
PyCharm在遇到模块找不到时,会使用红色波浪线提醒开发者.这本来是一个非常好的功能,但却由于另外一个问题,会给一些Python初学者造成困扰. 这一篇文章,我们讲讲工作区导致的这个问题. 首先我们 ...
- sudo修改文件夹名字_用 Python 高效智能管理文件夹
#「闪光时刻」主题征文 二期# 大家在写报告.写总结时,是否会先去翻一下以前写过的类似的东西?是否有看过比较好的文章,想保存时却为归类而纠结?是否电脑里的文件越来越多,想删掉一些却又舍不得?身处大数据 ...
- 的文件夹结构_小白指南:WordPress文件及目录结构解析
想学习关于WordPress文件和目录结构的知识吗?WordPress核心软件.主题.插件以及用户上传的文件都存储在网站上.在这篇小白指南中,我们将解析WordPress文件和目录结构. 为什么需要学 ...
- win10自动生成文件夹结构readme的方法
在整理纳品数据时,需要编写readme文件以表明文件的目录结构. 在win10系统中(win7系统需自行安装PowerShell软件),可使用以下步骤生成readme文件: 1.按住Shift键,选中 ...
- 的文件夹结构_用framework7开发APP:6.目录结构
描述 无论使用什么框架开发项目,我们最好都是先熟悉以下该框架的各种文件结构和含义,这样不仅能使我们的开发效率事半功倍,也能让我们的项目可读性更高,framework7亦如是. 开始 framework ...
- python如何爬取图片到指定文件夹论文_基于Python的图片爬虫程序设计
互联网中包含大量有价值的 数据,网络爬虫通过既定规则可 以自动地抓取互联网数据并下载 至本地存储.研究网络爬虫的工 作原理和基于 Python 网络信息爬 取技术模块功能,基于 Requests- B ...
- python读取文件特定内容_利用python代码获取文件特定的内容,并保存为文档
import os.path import re # 1 遍历指定目录,显示目录下的所有文件名 def each_file(file_path): path_dir = os.listdir(file ...
- 使用 Python 生成文件夹目录结构
新建一个 python 文件,复制以下代码,运行时指定一下 ignore_list 和 direction_path 即可快速生成文件夹目录结构图. import re from pathlib im ...
最新文章
- 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式
- 互联网思维-产品思维(1)
- Linux学习日记:第二天
- c语言学生信息管理系统框架,vue实现学生信息管理系统
- HDU 5025Saving Tang Monk BFS + 二进制枚举状态
- 台式计算机装系统,教你台式电脑重装系统方法
- 小白科普:分布式和集群
- Python重写C语言程序100例--Part6
- VB谨慎使用IsMissing函数
- TDX抢反弹指标(不含未來函数)
- 2018ACM-ICPC徐州赛区网络赛: D. Easy Math(Min_25筛)
- 使用finalize/dispose 模式提高GC性能(翻译)
- HTML 小练习(休假申请单)
- 2022-2028年中国商业智能化行业发展现状调查及前景战略分析报告
- Twitter无法输入密码
- 解决STM8S103K3T6打开BEEP功能遇到的无法操作BEEP_CSR的问题
- 吉林大学计算机李昕,本报新聘百名特约教工通讯员
- 多传感器融合感知 --传感器外参标定及在线标定学习
- paper—基于 GCN 的安卓恶意软件检测模型
- 阿里巴巴:互联网架构将成企业IT发展刚需