PyCharm中Execute Selection in Python Console执行代码报FileNotFoundError
解决PyCharm中Execute Selection in Python Console找不到文件的问题
问题根源
PyCharm的Python Console默认工作目录不是当前Python脚本所在的目录,而通过RUN按钮执行代码时,默认会把工作目录设置为脚本所在文件夹,这就导致用相对路径读取文件时,Console模式下找不到文件,但RUN模式能正常运行。
解决办法
方法1:临时切换Console工作目录
在Python Console里直接执行以下代码,切换到你的脚本所在目录:
import os # 替换成你的脚本所在文件夹的绝对路径,知道相对路径的话也可以用相对路径 os.chdir("C:/你的项目路径/脚本所在文件夹")
切换完成后再执行选中的代码,就能找到目标文件了。
方法2:修改Console默认工作目录(一劳永逸)
- 打开PyCharm设置:Windows/Linux点
File > Settings,Mac点PyCharm > Settings - 依次展开
Build, Execution, Deployment > Console > Python Console - 在
Working directory输入框中,把原有路径改成$FileDir$ - 点击
Apply和OK保存设置,之后每次打开Python Console都会自动使用当前打开的脚本所在目录作为工作目录。
方法3:代码中使用绝对路径(最稳妥)
修改代码,通过脚本自身路径拼接文件路径,这样不管在哪执行都能找到文件:
import os import xml.etree.ElementTree as ET # 获取当前脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接XML文件的完整路径 file_path = os.path.join(script_dir, 'mapgroupproto.xml') tree = ET.parse(file_path) root = tree.getroot() for t in root.findall("."): print(t.attrib)
内容的提问来源于stack exchange,提问作者talkinggoat
相关产品推荐
相关产品推荐

