我在PyCharm IDE(Windows 10)上使用python和Anaconda,并使用虚拟环境。这是我的问题代码,
print('# File...')
print(os.listdir("../MyData/Data/"))
当我在控制台中运行代码时(右键单击然后"在控制台中执行部分")它完美运行。但是,当我运行整个代码(来自绿色按钮)时,它说,FileNotFoundError:[WinError 3]系统无法找到指定的路径:' ../ MyData / Data /'
有人可以解释为什么会这样,以及可能的方向?谢谢。
答案 0 :(得分:0)
小心点,
Windows通常在地址中有"\"
。
这很简单,但可能是个大问题。
由于"\"
用作转义符,因此您必须使用"\\"
。
试试这个测试,看看地址是否正确:
import os
print(os.getcwd())
它将打印您当前的工作目录
答案 1 :(得分:0)
您应该使用如下的完整路径:
os.listdir ("C:\Users\YourUsername\Full\Path")
答案 2 :(得分:0)
所有程序都有一个工作目录,由任何启动它的代码决定。右键单击并在控制台中运行时,控制台作为其初始化过程的一部分,专门将当前工作目录设置为主目录。当您在gui中运行时,发生的情况取决于启动程序的窗口管理器。我认为Microsoft Windows喜欢将CWD设置为可执行文件的目录,但我不确定。
修复它的方法是在程序启动时手动设置当前目录。
import os
os.chdir(os.path.expanduser('~'))
您可以在gui和控制台案例中执行此操作。运行此代码后,相对路径将相对于您的主目录。