設定ファイルの読み込みと読み取りに問題があります。ファイルを実行するとimptest.py
、Pythonが読み取らconfigfile.cfg
れ、次の出力が得られます。
D:\tmp\test\dir1>python imptest.py
Section1
Section2
Section3
しかし、mainfile.py
ファイルを実行しても何も起こらず、Pythonはconfigfile.cfg
ファイルを読み取らないようです。
D:\tmp\test>python mainfile.py
D:\tmp\test>
私のディレクトリの構造:
テスト/ dir1 / __init__。py imptest.py 静的/ configfile.cfg mainfile.py
mainfile.py
ファイルのソース:
from dir1.imptest import run
if __name__ == '__main__':
run()
imptest.py
ファイルのソース:
import configparser
def run():
config = configparser.ConfigParser()
config.read('../static/configfile.cfg', encoding='utf8')
for sections in config.sections():
print (sections)
if __name__ == '__main__':
run()
configfile.cfg
ファイルのソース:
[Section1]
Foo = bar
Port = 8081
[Section2]
Bar = foo
Port = 8080
[Section3]
Test = 123
Port = 80
編集済み
これまでのところ、私の解決策(絶対パス)は次のとおりです。
cwd = os.path.realpath(os.path.dirname(__file__) + os.path.sep + '..')
config.read(os.path.join(cwd,'static' + os.path.sep + 'configfile.cfg'), encoding='utf8')
@Yavarによる解決策と同じですか、それとも良いですか、悪いですか、それとも同じですか?