我正试图在www.pythonanywhere.com运行我的web应用程序。问题是它将耦合的文件加载到内存中,在此过程中返回IOError: Errno 2,没有这样的文件或目录:。但我肯定目录在那里。
文件夹是: mysite/files/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在我的电脑上没有问题。
如有任何建议,我将不胜感激。
发布于 2015-01-30 16:03:07
当前的工作目录是解释器的启动位置,而不是.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以上应该适用于你的情况。
https://stackoverflow.com/questions/28239037
复制相似问题