問題タブ [configobj]

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.

0 投票する
3 に答える
10140 参照

python - ConfigObjとConfigParserのどちらが良いですか?

Pythonプログラム、組み込みモジュール( ConfigParser)、または独立したプロジェクト(ConfigObj )の設定ファイルを作成するには、どちらが適していますか?

0 投票する
1 に答える
2566 参照

python - configobj を使用して完全なセクションを 1 つずつ読み取る

以下のように configobj を使用して構成ファイルを読み取ります。

最初にセクションのリストを読んでから、各セクションを辞書に入れることを目指しています。値が存在しない場合は、デフォルト値に置き換える必要があります。section2 と言うと、PROP1 は「12345」になります。辞書オブジェクトのセクションだけを読み取るためにconfigobjを見てきましたが、それを行う関数/メソッドがないようです。何か助けはありますか?

ありがとう

ウマパシー

0 投票する
1 に答える
1422 参照

python - py2exeがモジュールを見つけることができません

正常に動作するPythonアプリがあります。今、私はpy2exeを使用してこのアプリのWindows実行可能ファイルを作成しますが、結果のexeはconfigobjモジュールがないという文句で失敗します

file2.pyの10行目は単なるfrom configobj import ConfigObj

引数を指定してconfigobjをパックされたモジュールのリストに明示的に追加しようとしました-i configobjが、py2exeの実行が失敗し、同様のエラーが発生します。

configobjモジュールは、コンピューターのデフォルトの場所にインストールされています

私は何を間違っているのですか?

0 投票する
2 に答える
373 参照

python - これは動的なConfigObjファイルを共有するための適切な方法ですか?

物理IOを監視して操作するPythonプロセスがいくつかあります。たとえば、電流が高すぎる場合はモーターをシャットダウンします。彼らはなぜ彼らが何かをしたのかをお互いに知らせる必要があるので、共有ファイルは簡単な解決策かもしれないと思いました。さまざまなプロセスがこのファイルに書き込むことができ、他のプロセスはいつ書き込まれたかを知る必要があります。私はすでに静的構成ファイルにConfigObjを使用しているので、動的ファイルを試してみようと思いました。書き込みはそれほど頻繁には発生しないはずです。おそらく1秒に1回程度で、通常はそれよりもはるかに遅くなります。私はうまくいくように見えるこの例を思いついた。

私の質問は、これを行うためのより良い/より簡単な/よりクリーンな方法があるかどうかです。

0 投票する
1 に答える
1621 参照

python - ConfigObj の長いリストとデフォルト値

このプロジェクトで喜んで使用しようとしている configobj についていくつか質問があります。

最初の質問は、非常に長いリストを作成するにはどうすればよいかということです。spec ファイルで宣言したとします。

val = string_list

今、私は val = one, two, three をしたいと思います

しかし、それは許可されていません。

動作しません。すべてを 1 行で記述しないようにする方法はありますか?

2 番目の質問は、デフォルト値を 2 回宣言しないようにするにはどうすればよいかということです。

たとえば、次の仕様があるとします。

私はそれを当然のこととして与えていました(疑似コード先)

しかし、そうではありません.confファイルで宣言されていない場合、キーが見つからないだけですか? 仕様から宣言されていないときにキーを作成する魔法のオプションはありますか?

代わりに YAML を使用することも 1 つの方法かもしれませんが、検証に関しては、私が見る限り、ConfigObj の方が優れているように見えます。

0 投票する
0 に答える
528 参照

python - Python: ConfigObj を使用して .py ファイルを作成する

ConfigObj を使用して python .py ファイルを作成しようとしています。

私が直面している問題は次のとおりです-

  1. configObj を使用して開始引数 (classname、init ステートメント)、import ステートメントなどを追加するにはどうすればよいですか?
  2. ConfigObj では、セクション区切りを使用できます。コメントをセクション名として使用するにはどうすればよいですか? 明らかに、.py ファイルに不正なコードがあると実行されません。そこで、コメントをセクションヘッダーとして使用して物事を区切りたいと思います。

以下は、使用しようとしている configspec ファイルのコードです (はい、OpenFlow に取り組んでいます) -

最後に、この仕様を実行すると、コードは次のエラーを返します -

明らかに、これは、ConfigObj で実行する適切な種類の構成仕様を作成できないことを意味します。

私の 2 点の質問への回答は素晴らしいものになります。

0 投票する
2 に答える
1037 参照

python - ConfigObj を取得して文字列を引用する

次のスクリプトを実行すると:

出力は次のとおりです。

次の出力を生成する方法はありますか?

0 投票する
2 に答える
488 参照

python - **kwargs が python ConfigObj で補間しないのはなぜですか?

テンプレートスタイルの補間を使用してPythonでConfigObjを使用しています。** を介して構成辞書をアンラップしても、補間が行われないようです。これは機能ですか、それともバグですか? 良い回避策はありますか?

2 行目は/test/directory. **kwargs で補間が機能しないのはなぜですか?

0 投票する
1 に答える
1616 参照

python - ConfigObjおよびUnicodeにStringIOを使用する

StringIOを使用してConfigObjにフィードしようとしています。単体テストでこれを実行して、構成オブジェクトでテストする内容に応じて、構成「ファイル」をその場でモックできるようにします。

構成モジュールで処理していることがたくさんあります(残りのアプリの情報を集約して「フォーマット」するいくつかのconfファイルを読んでいます)。しかし、テストでは、私は地獄からのユニコードエラーに直面しています。私は、この質問の目的のために抽出して過度に単純化した、最小限の機能コードに問題を突き止めたと思います。

私は次のことをしています:

次のトレースバックが生成されます。

LinuxでPython-2.7.2(32ビット)を使用しています。コンソールとエディター(Kile)のロケールはfr_FR.utf8に設定されています。

私はこれができると思いました。

io.StringIOのドキュメントから、次のようになりました。

StringIOオブジェクトは、Unicodeまたは8ビットの文字列を受け入れることができますが、2つを混合することには注意が必要です。

そして、ConfigObjのドキュメントから、私はこれを行うことができます:

そしてこれ

infile:なし

infileを指定する必要はありません。これを省略すると、空のConfigObjが作成されます。infileは次のようになります:

'エンコーディング':なし

デフォルトでは、ConfigObjはUnicodeに渡すファイル/文字列をデコードしません[8]。構成ファイルをUnicode(キーとメンバー)として使用する場合は、ファイルをデコードするためのエンコードを提供する必要があります。このエンコードは、書き込み時に構成ファイルをエンコードするためにも使用されます。

私の質問は、なぜそれがこれを生み出すのかということです。(単純な)Unicode処理から他に何が理解できませんでしたか?...

この答えを見て、私は変更しました:

to(コーデックモジュールbreforehandのインポート):

含まれている可能性のあるバイト順マークを取り除くために、しかしそれは役に立ちませんでした。

どうもありがとう

注意:io.StringIOの代わりにStringIO.StringIOを使用した場合、同じトレースバックがあります。