問題タブ [pyyaml]
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 - YAML形式でファイルにデータを書き込むにはどうすればよいですか?
Pythonを使用して以下のデータをyamlファイルに書き込む必要があります。
つまり、辞書の中の辞書。どうすればこれを達成できますか?
python - PyYAML を使用してオブジェクト属性を選択的にダンプする
YAML を使用して Python オブジェクトの階層をダンプできます。
出力を生成します:
しかし、いくつかの属性を選択的に非表示にしたいと考えています。したがってattribs_to_dump(obj)
、任意のオブジェクトに対して、ダンプしたい属性名のリストを返す関数があるとします。たとえば、次のようになります。
私の質問は、次の出力を得るためにどのようにフックattribs_to_dump
するのですか?yaml.dump
複雑な要因があります。オブジェクト階層を自分で前処理するのではなく、Yaml がオブジェクト階層をクロールするときに Yaml にフックすることで、効果を達成したいと考えています。その理由は、私が使用しているいくつかのライブラリに存在する魔法のために、階層内のすべてのオブジェクトが簡単に内省できるわけではないためですsetattr/getattr/__dict__
:-(...
すべての助けに感謝します!
python - 「!」のpyYAMLエラー 文字列で
まず、免責事項:私はYAMLにあまり精通していません。YAMLドキュメントをキーと値のペアに解析しようとしています(どのように実行するかについて心配する必要はありません。そのビットを処理しました)
私のファイルは以前は次のようになりました。
それから、誰かが行ってそれを変えました。
そして、私はこの解析エラーを受け取ります:
これはどういう意味ですか?!$を2文字として解釈するにはどうすればよいですか?文字列のキーと値の辞書が欲しいだけです!また、yamlファイルを編集することはできません。問題は、パーサーを使用してコードで修正する必要があります。
python - PyYAML、マップエントリを整列させる方法は?
PyYAMLを使用してPython辞書をYAML形式で出力します。
出力は次のとおりです。
しかし、私はしたい:
その問題に対する簡単な解決策はありますか?
python - PyYAML は iso8601 日付を解析できますか?
YAML 仕様によると、タイムゾーン付きの iso8601 日付が認識される必要があります。ただし、PyYAML 3.10 (ActivePython 2.7.2.5 を搭載した Windows 7) を使用してそれらを解析しようとすると、単純な日付が取得されます。
(最初の形式は厳密な iso8601 で、2 番目は「緩和された」形式です。例は YAML 仕様から直接取得されています。)
これは予想される動作ですか、それとも私の PyYaml が正しく機能していませんか?
python - PyYAML:yaml.load()によって呼び出されるアイテムの順序を制御します
dbにいくつかのレコードを作成するyaml設定ファイルがあります:
このファイルをsetting3で更新し、次の方法でdbのレコードを再生成する場合:
それらの設定の順序(db内のid番号)は、imがdbに追加するたびに同じままであることが重要です...そしてsetting3はyaml.load()の末尾に追加されるだけなので、そのidは' tすでにdbにあるレコードを混乱させます...現時点では、別の設定を追加してyaml.load()を呼び出すたびに、レコードが異なる順序でロードされ、異なるIDになります。私はどんなアイデアも歓迎します;)
編集: 私はabarnertのヒントに従い、この要点を理解しましたhttps://gist.github.com/844388
期待通りに動作します!
python - YAMLを解析し、行番号で返します
YAMLデータからドキュメントジェネレーターを作成しています。これにより、各アイテムが生成されるYAMLファイルの行が指定されます。これを行うための最良の方法は何ですか?したがって、YAMLファイルが次のような場合:
私はこのようなものが欲しい:
現在PyYAMLを使用していますが、Pythonから使用できれば、他のライブラリでも問題ありません。
python - PyYaml で作成した YAML にコメントを追加する
PyYaml を使用して、独自の Python オブジェクトから Yaml ドキュメントを作成しています。たとえば、私のオブジェクト:
になります:
ここまでは順調ですね。
しかし、生成された yaml にプログラムでコメントを追加する方法が見つからないため、次のようになります。
PyYaml のドキュメントとコードを見て、そうする方法が見つかりませんでした。
助言がありますか?
yaml - PyYAML ダンプの一部のスタイルを指定する
コンピューターには YAML を使用し、シミュレーターには人間が編集可能で読み取り可能な入力形式を使用しています。人間が読みやすいように、入力の一部はほとんどブロック スタイルに適していますが、フロー スタイルの方が適している部分もあります。
PyYAML のデフォルトでは、ネストされたマップまたはシーケンスがある場合はブロック スタイルを使用し、それ以外の場合はフロー スタイルを使用します。*default_flow_style* では、all-flow-style または all-block-style を選択できます。
しかし、私はより多くの形式のファイルを出力したいと思います
ご覧のとおり、これはスタイル全体で一貫したパターンに従っておらず、代わりにファイルの一部に応じて変更されています。基本的に、一部のブロック スタイル シーケンスのすべての値がフロー スタイルであることを指定できるようにしたいと考えています。ダンピングを細かく制御する方法はありますか? トップレベルのマッピングを特定の順序でダンプできる一方で、その順序を必要としない場合 (omap など) は、読みやすさにも役立ちます。