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

Yis*_*hen 3 python django

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

  data = file("snp_data.txt")
Run Code Online (Sandbox Code Playgroud)

当我在django项目之外单独调用它时,该模块运行良好; 当我在django应用程序中调用其他模块时,我一直收到以下错误.

  no such file or directory as 'snp_data.txt'
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

Mar*_*ers 13

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

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

data = open(os.path.join(BASE, "snp_data.txt"))
Run Code Online (Sandbox Code Playgroud)

因为当前的工作目录很少与模块目录相同.

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