(Python)创建包__init__.py

时间:2012-06-12 22:58:04

标签: python packages init

我正在尝试制作以下层次结构的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'

1 个答案:

答案 0 :(得分:2)

Python有一个有趣的变量__file__,它是包含正在运行的代码的文件的名称。您的代码正在查找当前的工作目录。

用此打开文件:

open(os.path.join(os.path.dirname(__file__), 'text.txt'), 'r')

与特殊变量__file__相关的文档:

http://docs.python.org/reference/datamodel.html