IOError - PythonAnywhere.com

IOError - PythonAnywhere.com

我正在尝试 运行 我在 www.pythonanywhere.com 的 Web 应用程序。问题是它将几个文件加载到内存中,在此过程中它 returns IOError: [Errno 2] No such file or directory:.但我确定该目录在那里。

文件夹是: 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 在我的电脑上没有问题。

如果有任何建议,我将不胜感激。

当前工作目录是解释器启动的位置,而不是您的 .py 脚本所在的位置。要么使用文件的绝对路径,要么确保您知道自己的位置。 os.curdir 显示当前目录。您的主文件夹可以通过 os.path 模块中的 expanduser("~") 获得。弄清楚自己所在的位置后,您可以轻松加入路径,或 os.chdir() 进入您需要的文件夹。

from os.path import expanduser

homedir = expanduser("~")
with open(os.path.join(homedir, "mysite/files/dictionaryA"), 'rb') as f:
    # Work with dictionaryA

以上应该适用于您的情况。