python中的IOEerror“;没有这样的文件或目录;

python中的IOEerror“;没有这样的文件或目录;,python,django,file,Python,Django,File,我正在写一个django项目,涉及从表中检索数据。我有一个模块,它有一行代码来检索一些数据(snp_data.txt是模块同一目录下的一个文件): 当我在django项目之外单独调用该模块时,该模块运行良好;当我使用django应用程序中的其他模块调用时,我不断收到下面的错误 no such file or directory as 'snp_data.txt' 知道发生了什么吗?您正在尝试打开当前工作目录中的文件,因为您没有指定路径。您需要改用绝对路径: import os.path B

我正在写一个django项目,涉及从表中检索数据。我有一个模块,它有一行代码来检索一些数据(snp_data.txt是模块同一目录下的一个文件):

当我在django项目之外单独调用该模块时,该模块运行良好;当我使用django应用程序中的其他模块调用时,我不断收到下面的错误

  no such file or directory as 'snp_data.txt'

知道发生了什么吗?

您正在尝试打开当前工作目录中的文件,因为您没有指定路径。您需要改用绝对路径:

import os.path
BASE = os.path.dirname(os.path.abspath(__file__))

data = open(os.path.join(BASE, "snp_data.txt"))
因为当前工作目录很少与模块目录相同

请注意,我使用了
open()
而不是
file()
;前者是推荐的方法。

在中传递“snp_data.txt”的方式是一个相对路径-相对于运行脚本的位置。我会将文本文件更改为实际路径,而不是
data=file(“snp_data.txt”)
。它应该是
data=file(“Path\to\snp\u data.txt”)
import os.path
BASE = os.path.dirname(os.path.abspath(__file__))

data = open(os.path.join(BASE, "snp_data.txt"))