2017-02-06 8 views
-1

に渡された引数からconfigファイルを作成します。私は</p> <p>config.py section1.xml_file設定変数を作成したいのpython

[section1] 
xml_file = 'String1' + sys.argv[1] + 'String2' 

例:

Input: config.py Test1 

Output: xml_file = String1Test1String2 

Input: config.py Test2 

Output: xml_file = String1Test2String2 
+0

これは良い質問ではありません。あなたは何を試しましたか、何がうまくいかないのですか?よい質問を構成するもの、質問する方法などについては、[ここ](http://stackoverflow.com/help/how-to-ask)を参照してください。仕上げをするために必要な宿題や作業があるようです仕事をSOに耕作しています。 –

答えて

1

そうしないと実行時に実際にコンフィグファイルの内容を変更したいとします。 configは、特定の環境に応じた設定の静的な記述であり、config設定自体を実行時のパラメータ(例えば、sys.argv)に適合させる魔法を含むべきではありません。

pythonスクリプトに渡されるパラメータに応じてxmlファイル名を変更したい場合は、ファイル名のフォーマット記述をconfigに入れ、実行時にその文字列をロードし、個々の部分を置換/挿入することができます。これは、2つの主要な利点があります。

  1. 設定の内容は、(私は例を使用し、他のプログラマが簡単に

あなたの設定ファイルのエントリは次のようになります設定に従うことができ、環境

  • につき一貫しているが、そのあまり一般的で、現実世界の設定)に近い:あなたのPythonコードで

    [assets] 
    xml_file_format = '/usr/share/basepath/{subpath:s}/assets/project.xml' 
    

    、あなたが実行します。

    import ConfigParser 
    cfg = ConfigParser.RawConfigParser() 
    xmlfile = cfg.get('assets', 'xml_file_format').format(subpath=sys.argv[1]) 
    

    あなた環境全体が渡さsys.argv[1]に応じて異なるものであり、あなたはそれが固定され、一貫性のあることがしたい場合は、あなたがその特定の環境のための設定ファイルを作成し、それに固執する必要があります。

  • +0

    これは私に解決策を与えました。 – user3197309

    関連する問題

     関連する問題