2013-11-04 25 views
0

当我使用Web服务器来运行我的代码时,出现上述错误,但是在本地终端中工作正常。我相信这必须与本地工作的文件路径有关,但不能远程执行。我已经看到了stackoverflow上的解决方案是像'/ user/xxx/library /'等添加文件路径,但是有没有解决方案,允许这是系统不可知的?如果我将这个目录复制到另一个位置/服务器,它仍然可以工作?IOError:[Errno 2]没有这样的文件或目录:'users.txt'

回答

1

您可以导入os,它将其构建到Python中。你可以得到.py文件考核的绝对路径是这样的:

import os 
ROOT = lambda base : os.path.join(os.path.dirname(__file__), base).replace('\\','/') 

现在,你可以简单地做到以下几点:

ROOT('users.txt') 

它应该返回绝对路径。

+0

如果我要将目录复制到AWS,这仍然有效吗? – dojogeorge

+0

是的,它应该工作,路径没有硬编码,所以它会产生绝对路径。 – moenad

+0

我建议用'relPath'替换'base'。并且反斜杠的'replace()'是否必要?即使你的操作系统使用了反斜杠,os.path.join()也应该可以正常工作。 –

相关问题