Python IOError:[Errno 2]没有这样的文件或目录:';users.txt';

Python IOError:[Errno 2]没有这样的文件或目录:';users.txt';,python,io,Python,Io,当我使用Web服务器运行我的代码时,我遇到了上面的错误,但是在终端的本地,这可以正常工作。我相信这一定与本地工作的文件路径有关,而不是远程工作。我已经看到stackoverflow的解决方案是添加文件路径,如“/user/xxx/library/”等,但是是否有一个解决方案允许这是系统无关的?如果我将此目录复制到另一个位置/服务器,它仍然可以工作?您可以导入os,它是用Python构建的。您可以通过以下方式获取.py文件的绝对路径: import os ROOT = lambda base :

当我使用Web服务器运行我的代码时,我遇到了上面的错误,但是在终端的本地,这可以正常工作。我相信这一定与本地工作的文件路径有关,而不是远程工作。我已经看到stackoverflow的解决方案是添加文件路径,如“/user/xxx/library/”等,但是是否有一个解决方案允许这是系统无关的?如果我将此目录复制到另一个位置/服务器,它仍然可以工作?

您可以导入
os
,它是用Python构建的。您可以通过以下方式获取.py文件的绝对路径:

import os
ROOT = lambda base : os.path.join(os.path.dirname(__file__), base).replace('\\','/')
现在,您只需执行以下操作:

ROOT('users.txt') 

它应该返回绝对路径。

是的,它应该工作,路径不是硬编码的,因此它将生成绝对路径。我建议用
relPath
替换
base
。是否需要反斜杠的
replace()
?即使操作系统使用反斜杠,
OS.path.join()
也可以正常工作。