我有一个我制作的模块,它可以读取文本文件,并且在自行运行时可以正常工作。但是,作为模块运行时,找不到该文件。
文本文件与导入的.py模块位于同一目录中
答案 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'