IOError - PythonAnywhere.com

时间:2015-01-30 15:22:17

标签: python ioerror pythonanywhere

我正在尝试在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没有问题。

我会感激任何建议。

1 个答案:

答案 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

上述内容适合您的情况。