文本文件无法在自定义模块中打开

时间:2015-12-11 19:19:01

标签: python module

我有一个我制作的模块,它可以读取文本文件,并且在自行运行时可以正常工作。但是,作为模块运行时,找不到该文件。

文本文件与导入的.py模块位于同一目录中

2 个答案:

答案 0 :(得分:3)

  

文本文件与导入的.py模块位于同一目录中

这是你的问题。它应该与主脚本位于同一目录中,因为这是启动Python时的当前目录。

如果您希望始终从与模块相同的目录中读取它,您可以在模块中执行类似的操作以获取模块所在的目录:

from os.path import dirname, join
myfile = open(join(dirname(__file__), "mydatafile.txt"))

答案 1 :(得分:-1)

如果实际上想要从模块文件的目录中读取文本文件,这将为您提供路径:

import os
import mymodule

nytextfile_path = os.path.dirname(mymodule.__file__) + '/mytextfile.txt'