我正在尝试在www.pythonanywhere.com上运行我的网络应用程序。问题是它将几个文件加载到内存中,在此过程中它返回IOError:[Errno 2]没有这样的文件或目录:但我确信目录就在那里。
该文件夹是: mysite的/文件/ dictionaryA
2015-01-30 15:06:44,101 : File "/home/tox/mysite/Data.py", line 241, in loadDictionaryAB
2015-01-30 15:06:44,102 : with open(path.relpath('files/dictionaryA'),'rb') as f:
2015-01-30 15:06:44,102 :IOError: [Errno 2] No such file or directory: 'files/dictionaryA'
Data.py
在mysite / files字典中,所以应该没问题。我的电脑上的Linux和Windows没有问题。
我会感激任何建议。
答案 0 :(得分:4)
当前工作目录是启动解释器的位置,而不是.py脚本所在的位置。使用文件的绝对路径,或确保您知道自己的位置。 os.curdir
显示当前目录。您的主文件夹可以通过expanduser("~")
模块中的os.path
获取。找出自己的位置后,您可以轻松加入路径,或os.chdir()
到您需要的文件夹中。
from os.path import expanduser
homedir = expanduser("~")
with open(os.path.join(homedir, "mysite/files/dictionaryA"), 'rb') as f:
# Work with dictionaryA
上述内容适合您的情况。