0

次の階層の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'
4

1 に答える 1

2

__file__Pythonには、実行中のコードを含むファイルの名前である面白い変数があります。代わりに、コードは現在の作業ディレクトリを検索しています。

これを使用してファイルを開きます。

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

特殊変数に関連するドキュメント__file__

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

于 2012-06-12T23:00:20.980 に答える