最近,我在使用 PyCharm 时无法在代码中使用相对路径。例如,一个简单的
open('test.txt', 'r')
不起作用 - 因此我确信该文件与正在运行的 py 文件存在于同一级别。 PyCharm 将返回此错误。
FileNotFoundError:[Errno 2]没有这样的文件或目录:
在 StackOverflow 上在线阅读答案后,我尝试了多种选择,包括:
test.txt
更改为 ./test.txt
这些选项都不适合我。有什么办法我可以告诉 PyCharm 刷新当前工作目录(甚至查看它认为当前工作目录在哪里)?
编辑:我应该注意,在终端窗口中运行脚本是可行的。这似乎是 PyCharm 的问题,而不是脚本的问题。
改变: 运行>编辑配置>工作目录, 它设置特定项目的工作目录。 (这是在 Mac 上)
我有 Pycharm 4.5,所以事情可能会有所改变。
尝试转到“设置”>“项目”>“项目结构”
在此对话框中,单击包含源代码的文件夹,然后单击菜单中的蓝色文件夹将其标记为“源”文件夹。我相信这解决了 Pycharm 中的很多路径问题
这里是“内容根”的链接:https://www.jetbrains.com/pycharm/help/content-root.html
__file__
指的是文件路径。因此,您可以使用以下命令来引用同一目录中的文件:
import os
dirpath = os.path.dirname(__file__)
filepath = os.path.join(dirpath, 'test.txt')
open(filepath, 'r')
在 PyCharm 中,单击“运行/编辑配置...”
然后在“Python”下拉菜单中找到您的脚本文件。检查“工作目录”条目并根据需要进行更改。
解决此问题的确切答案,,
我希望这能解决您所有与问题相关的路径。
有时情况会有所不同。我通过单击 Pycharm 工具栏上的“运行”,然后单击“编辑配置...”解决了我的问题,并将我的解释器更改为另一个实际的解释器。仅在设置中更改它没有帮助,但此操作已经起作用了;)
几分钟前我也遇到了同样的问题...但是,使用最新版本的 PyCharm,只需使用该文件的相对路径即可解决该问题。 例如,一个简单的 f = open('test', 'r') 就可以了。
针对 Mac 用户的一点说明。在Mac中,@andere上面所说的设置工作目录是正确的。但是,如果您的代码位于不同的文件夹中,例如
working_dir/src/
(如经典的 java/scala 文件结构),在这种情况下您仍然需要设置 Sources Root。在 Mac 的 PyCharm 中,可以通过右键单击 src/
文件夹 > 将目录标记为 > 源根目录来完成此操作。帮助我解决了很多类似的导入问题。希望这对某人有帮助。