我正在尝试制作以下层次结构的python包:
\standard
\__init__.py
\text.txt
\scan.py
scan.py中有一个名为parse()的函数,它通过以下方式打开text.txt:
name_list = open('text.txt','r')
然而,当我跑
时from standard import *
result = scan.parse()
我得到以下内容:
IOError: [Errno 2] No such file or directory: '/text.txt'
答案 0 :(得分:2)
Python有一个有趣的变量__file__
,它是包含正在运行的代码的文件的名称。您的代码正在查找当前的工作目录。
用此打开文件:
open(os.path.join(os.path.dirname(__file__), 'text.txt'), 'r')
与特殊变量__file__
相关的文档: