我正在编写一个涉及从表中检索数据的django项目。我有一个模块,它有一行来检索一些数据(snp_data.txt是模块同一目录下的一个文件):
data = file("snp_data.txt")
虽然我在django项目之外单独调用它时模块运行良好;当我在django应用程序中使用其他模块调用时,我一直收到以下错误。
no such file or directory as 'snp_data.txt'
知道发生了什么事吗?
答案 0 :(得分:13)
您正尝试在当前工作目录中打开该文件,因为您没有指定路径。您需要使用绝对路径:
import os.path
BASE = os.path.dirname(os.path.abspath(__file__))
data = open(os.path.join(BASE, "snp_data.txt"))
因为当前工作目录很少与模块目录相同。
请注意,我使用open()
代替file()
;前者是推荐的方法。