【发布时间】:2016-10-20 17:15:52
【问题描述】:
我正在使用 python,在 PyCharm IDE (windows 10) 上使用 Anaconda,并使用虚拟环境。这是我有问题的代码,
print('# File...')
print(os.listdir("../MyData/Data/"))
当我在控制台中运行代码时(右键单击然后“在控制台中执行部分”),它运行良好。但是,当我运行整个代码(从绿色按钮开始)时,它显示 FileNotFoundError: [WinError 3] The system cannot find the path specified: '../MyData/Data/'
有人可以解释为什么会发生这种情况,以及可能的方向吗?谢谢。
【问题讨论】:
-
听起来
../MyData/Data不存在。确保您位于您认为与os.getcwd()在一起的文件夹中。 -
使用完整路径而不是 up.
full/path/here而不是../partial/path。 -
列出数据相对于脚本的位置可能更容易...
os.listdir(os.path.join(os.path.basename(__file__), os.pardir, 'MyData', 'Data')) -
区别在于你的“当前工作目录”。当您从控制台运行时,它是您启动程序时所在的目录。当您在 IDE 中时,它可能是 IDE 的安装目录。
-
那是相对路径。问题是相对于什么。它相对于当前工作目录。那是什么?
print(os.getcwd())
标签: python pycharm virtualenv