設定ファイルの読み込みと読み取りに問題があります。ファイルを実行すると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による解決策と同じですか、それとも良いですか、悪いですか、それとも同じですか?