0

関連するスレッドがいくつかありますが、Python モジュールのソース ファイルを検索する方法については、最も簡単で信頼できる方法で Python クラス内からファイル名を取得する方法についての回答が見つかりませんでした。にある架空のファイルの場合/usr/local/TestLib.py:

class MyTest(object):
    def __init__(self):
        myLocation = XXX

myLocation変数に string を含めたい/usr/local/TestLib.py__file__私のクラス内では動作しないようです。

どうすればいいですか?

4

1 に答える 1

3

__file__そのようなクラスで働くべきです。必ずしも完全なパスが返されるとは限らないため、機能しないと思ったかもしれません。__file__は、パスの処理方法が少し変わっているため、完全なパスが必要な場合は、この例のようにパスの最初の部分を追加する必要がある場合があります。(これについての詳細は、この質問をチェックしてください: Python __file__ attribute absolute or relative? .)

import os

class Foo:
    def __init__(self):
        self.myLoc = os.path.abspath(__file__)

f = Foo()
print f.myLoc
于 2012-08-17T07:35:27.813 に答える