問題タブ [configparser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python ConfigParser でアルファベット順にエクスポートする
RawConfigParser.write() メソッドに設定ファイルをアルファベット順にエクスポートさせる解決策はありますか?
元の/読み込まれた構成ファイルがソートされていても、モジュールはセクションとオプションをセクションに任意に混在させ、ソートされていない巨大な構成ファイルを手動で編集するのは本当に面倒です。
PD: Python 2.6 を使用しています
python - Python ConfigParser .items()からデフォルトを除外するにはどうすればよいですか?
ConfigParserを使用して、次のように構成ファイルからデータをロードしています。
test.conf:
load.py:
出力:
('datadir', '/tmp')
変数置換のデフォルトがの一部として表示されていることに驚いています。構成ファイルの値であるかのように戻りますitems()
。.get()
この動作は予想されますか?デフォルトのディクショナリ値を取得せずに単純に反復できるようにするための回避策は.items()
ありますが、それでもマジック補間を使用しますか?
参照:http ://docs.python.org/library/configparser.html
ありがとう!
更新:これは予想される動作であることが指摘されています。デフォルトは、構成ファイル内の他の名前と値のペアとまったく同じです。同様に、構成ファイルの名前と値のペアも「魔法の補間」に使用できるため、次のように定義します。
取得します[... ('zap': 'barnowl')]
それはかなりきちんとしていますが、私が達成したいことを達成できるかどうかまだ疑問に思っています。デフォルトなしで、変数の補間を使用して、構成ファイルの名前と値のペアを繰り返し処理します。
{basedir: '/foo/bar'}
私の特定のシナリオは次のとおりです。特定のファイルへの絶対パスはインストールによって異なるため、構成オブジェクトをのようなもので初期化したかったのです。次に、その構成オブジェクトをに渡して、他のさまざまなクラスにファイルを反復処理させる必要があります。構成を読み取るすべてのクラスが、特定のデフォルトで初期化されていること、および実際のファイルではないため、それらを無視する必要があることを認識している必要はありません。これは可能ですか?.item()と.get()からデフォルトを非表示にする方法はありますが、それでも補間はありますか?ありがとう!
python - Python ConfigParser: 特定のセクション (デフォルトではなく) で設定されたオプションを解決する方法
標準の ConfigParser ライブラリの RawConfigParser を使用して読み取る構成ファイルがあります。私の構成ファイルには [DEFAULT] セクションがあり、その後に [specific] セクションが続きます。[specific] セクションのオプションをループすると、[DEFAULT] の下にあるオプションが含まれます。これは、意図したとおりです。
ただし、レポートのために、オプションが [specific] セクションまたは [DEFAULT] で設定されているかどうかを知りたいと思いました。RawConfigParser のインターフェイスでそれを行う方法はありますか、それともファイルを手動で解析する以外に選択肢はありませんか? (私は少し探しましたが、最悪の事態を恐れ始めています...)
例えば
[デフォルト]
名前=あ
姓 = b
[セクション]
名前 = b
年齢 = 23
オプション name と surname がセクション [DEFAULT] またはセクション [SECTION] からロードされているかどうか、RawConfigParser インターフェイスを使用してどのように知ることができますか?
([DEFAULT] がすべてに適用されることを意図していることはわかっていますが、複雑な構成ファイルを処理するために、このようなことを内部的に報告することをお勧めします)
ありがとう!
python - python ConfigParser モジュール
次のiniファイルがあります
ConfigParser モジュールを使用する場合:
それは常に0を出力します誰かが助けてくれますか
python - ConfigParser(または代替)のセクションの更新
私は別のプログラムのプラグインを作成しているので、可能な限り軽量化しようとしています。
私がする必要があるのは、ConfigParserの構成ファイルのセクションの名前を更新できるようにすることです。
次に、ユーザーがプロジェクトの名前、作成者、電子メール、および年を編集できるテキストフィールドがあります。
[プロジェクト名]を変更することはできないと思うので、2つの解決策を考えました。
1-設定ファイルを次のようにします。
そうすれば、別のオプションと同じようにプロジェクトの名前を変更できます。しかし、問題は、セクション番号を自動インクリメントする必要があることです([0]、[1]など)。そして、これを行うには、すべてのセクションを取得し、並べ替えて、次の番号がどうあるべきかを理解する必要があります。
もう1つのオプションは、セクション全体とその値を削除し、更新された値で再度追加することです。これには、古いセクション名を保持する変数を関数に渡すなど、もう少し作業が必要になりますが、速くてもかまいません。
2つのうちどちらが最適ですか?または別の方法はありますか?私は可能な限り最速/軽量のソリューションを採用したいと思っています。それがより多くの作業を必要とするかどうかは関係ありません。
python - 設定ファイルからのPythonic読み取り
ConfigParserを使用して構成ファイルを読み取るPythonクラスがあります。
構成ファイル:
Pythonコード:
self.item
最後の4行は繰り返しであり、セクション内の各項目の変数を作成する1つのPythonic行に何らかの形で圧縮する必要があると思います。
何か案は?
アダム
アップデート:
あなたの答えに従って、私は私のコードを次のように変更しました:
今、
python - ConfigParser を使用して設定ファイルから色を読み取り、Pygame で使用する
構成ファイルには、次のように定義された変数があります
screen.fill
Pygameの設定またはその問題の色の引数でどちらが機能するはずです。私ができることscreen.fill(0,0,0)
これに関する問題は、文字列を int に変換するために、を介して読み取られる整数の場合configfile
に置かなければならないことです。int()
色 int のようなものは機能しません。何を使用すればよいかわかりません。
それはpythonからのエラーです。
python - Pythonスクリプト用のWindows構成ファイルを保存するのに適した場所/方法はどこですか?
設定ファイルを必要とするスクリプト/プログラムを使用しています(使用していますConfigParser
)。Linuxでは、デフォルトでこれらの変数を関数~/.myscript
を使用して保存しos.getenv('HOME')
ます。
Windowsではos.getenv('USERPROFILE')
、ユーザーの「ホーム」ディレクトリを見つけるために使用できることはわかっていますが、隠しファイルをそのように(つまり、名前を付けて.myscript
)保存することをお勧めしますか?
もちろん、私はWindowsを使用していませんが、使用する人のためにWindowsを賢く使いたいと思っていました。
これらの構成変数をWindowsに保存するための標準的な場所/方法はありますか?
python - configparser で (デフォルトで) 大文字と小文字を保持しない理由は何ですか?
設定ファイルにキー名を保存したい場合は、configparser.optionxform = str
. この ( configparser ) の動作には驚きました。大文字と小文字を区別しないオプションがデフォルト (唯一ではないにしても) であることを期待していました。
これはあなたにとって意味がありますか?この決定の背後にある理論的根拠は何ですか?
python - Python、ConfigParser:「魔法の補間」とは
PythonのConfigParserのドキュメントでは、いわゆる「魔法の補間」機能について多くのことが説明されていますが、実際に何が行われるかについては説明されていません。検索してみましたが、答えが見つかりませんでした。