2017-04-01 9 views
1

単一の引用符で囲まれた文字列のみからなるファイルを持つことは合法的なPythonコードのようです。 Pythonインタプリタは、以下の文句はありません。単一の文字列のみからなるPythonモジュール

#!/usr/bin/python 

"somevalue" 

私は他の構成設定から分離されたいくつかのいずれかオフ値(たとえばAPIキー)を維持したい場合は、別のものにこのようなファイルをインポートすることが可能ですスクリプトをモジュールとして使用し、文字列?

インポートされたモジュールのデフォルトの文字列表現は、<module x from y-path>のようになります。そのモジュールに含まれる文字列値に何とかアクセスできますか?

(先制接線を遮断するために、私は単なるテキストとしてファイルを読んだり、別のスクリプトでvariablefrom module import variableに値を割り当てることができます理解しています。関連する目標を達成するために、より従来通りの方法があります。私は欲望の外に求めています言語の設計と機能をよりよく理解するため)。

答えて

3

実際には、その文字列はモジュールのドキュメントストリングになります。 これは、モジュールの__doc__属性によってアクセスされます。 Pythonは、モジュール、クラス、または関数内で最初に見つかった緩やかな文字列を取得し、その文字列を判別します。

https://www.python.org/dev/peps/pep-0257/#what-is-a-docstring

+1

なるほどにより「クリーンアップ」しまったことを除いて__doc__と同じでどれ!それは私に何かを教えた。私は尋ねられてうれしいです。 –

1

またinspectを使用して文字列を取得することができます。ほとんどそれはまたinspect.cleandoc()

import inspect 
value = inspect.getdoc(__import__('filename')) 
関連する問題