問題タブ [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.
django - django grok YMLですか?djangoがフィクスチャYMLファイルをロードしていません(ymlは既知のシリアル化ではありません)
私は最初のdjangoプロジェクトを正常に作成しました。
プロジェクトfooとfoobarに2つのアプリがあります。
各アプリフォルダーに「fixtures」という名前のフォルダーを作成しました。私はsettings.ymlでフィクスチャディレクトリを指定していないので、(ドキュメントによると)djangoは私の{app}/fixturesフォルダを探しているはずです。
{app}/fixturesフォルダーにいくつかのYMLファイルがあります。さまざまなモジュールの初期データを個別のYMLファイルに分割し、ファイル間の依存関係がないことを確認しました(つまり、関連するすべてのモデルが同じYMLファイルにあり、それらを使用するモデルの前に祖先がファイルに存在します)。
ただし、dbオブジェクトが正常に作成された後に./manage.py syncdbを実行すると、次のメッセージが表示されました。
フィクスチャが見つかりません
次に、loaddataコマンドを使用してフィクスチャを手動でロードしようとしました。
上記のリンクに記載されているドキュメントは間違っていますか?それとも、djangoがYMLを実行するためにモジュールをインストールする必要がありますか?
ところで、YMLファイルは正しく解析され、正しいかどうかがチェックされています(私は別のプロジェクトでそれらを正常に使用しました)-それは問題ではありません
[編集]
Manojの指示に従って、PyYamlをインストールし、フィクスチャファイルの名前を変更しました。少し先に進むことはできますが、まだ問題が発生しています(BTW、PyYaml 3.0.9を使用しています)。
これが私のプロジェクトORMのモデルです(つまり{app} /model.py):
インポートしているYAMLファイルは次のとおりです。
./manage.py loaddata myapp / Fixtures/currencies.yamlを実行したときのスタックトレースは次のとおりです。
python - Appengine で yaml ファイルを作成してエクスポートする
ファイルの作成と .yaml へのエクスポートに問題があります。Python 2.5 で Google App Engine を使用しています。Yaml のドキュメントを理解できません。混乱します。
私が欲しいのは、ファイルを作成して保存することです。モデルからエンティティを取得する必要があります。
このスニペットを使用すると、ボタンをクリックすると、モデルから取得した情報をブラウザーで表示できます。印刷方法が原因かもしれませんが、ファイルは作成されませんが、アプリを Google App Engine にアップロードすると、同じ情報が表示されません。「Status 200 Ok」のみが表示されます。
誰かが私を正しい方向に向けることができますか? pyyaml ライブラリをインポートする必要がありますか?
一部のコードを次のように変更しました。
結果はブラウザで次のようになりました。
コードを変更しましたが、データはブラウザでのみ表示されます。
python - PyYAMLを使用して日時オブジェクトを作成する方法
datetime.datetime.now()
PyYAMLを使用して日時オブジェクトを作成できるようにしたいと思います。いくつかの関数を呼び出すのは簡単です:
ただし、の取得方法がわからないようですdatetime.now()
。さまざまなpythonyamlタグを使用して、それを呼び出すことで多くの順列を試しました。
これらはすべて失敗します:
java - PyYamlからSnakeYaml---AWT-EventQueue-0 "tag:yaml.org、2002:java / object:のJavaオブジェクトを作成できません
PyYamlで作成されたYamlをSnakeYamlに渡していますが、Snakeyamlは最初の行を超えて何も認識していないようです!! 存在し、python/objectが宣言されています。私はすでにJavaで同じオブジェクトを設定しています。オブジェクトタイプがアサートまたは割り当てられているオブジェクト配列にloadAllを表示する例はありますか?
良い電話...私が最初に投稿したとき、コンピュータから離れていました。
これが、SnakeYamlを使用してJavaアプリケーションにアクセスしようとしているPyYamlのデータです。
上記の単一のインスタンスだけでなく、複数のオブジェクトもあるため、誰かがよく知っている場合を除いて、SnakeYamlでloadAllを使用する必要があります。
コードに関しては、これが私がSnakeYamlドキュメントから持っているすべてです:
次に、このエラーがスローされます。
小さなコードスニペットからわかるように、このすべての情報が提供されていなくても、オブジェクトを任意にキャストする方法についての答えを知っている人なら誰でも、おそらく質問に答えることができます。
どうも。
各エントリの先頭にある2つの感嘆符(!!)を解析すると、次のようになります。「」の1行73列でマッピング値は許可されていません。
エラーとして。YAMLを使用する目的は、解析に関連するコーディングを減らすことでした。なんらかの理由で着信コードと発信コードを振り返って解析する必要がある場合、YAMLは最悪です!! そして、PythonミドルウェアがJavaアプリケーションと通信できるようにするXMLまたはその他のものを喜んで元に戻します。
python - ブロックリテラルまたは折りたたまれたブロックとしての長い文字列のダンプをサポートするPythonのyamlライブラリはありますか?
読みやすくするために、ブロックスタイルにしたい長い文字列を含む辞書をダンプできるようにしたいと思います。例えば:
PyYAMLはこのスタイルのドキュメントの読み込みをサポートしていますが、この方法でドキュメントをダンプする方法が見つからないようです。私は何かが足りないのですか?
python - Pythonを使用したYAML - マップでタイプを定義するにはどうすればよいですか?
私は困惑しています。ドキュメントを次のように構成したいのは次のとおりです。
次に、Python で指定されたリリースに基づいてファイルを返したいと思います。その部分は簡単ですが、値を float として返すため、問題が発生します。前処理せずに強制的に文字列にしたいと思います。(ファイルを開き、バージョンをループして、各エントリに !!python/str を追加したくありません)
タグはこれを行う方法だと思いますが、タグを定義する方法/場所に関して、ドキュメントの頭や尾を作ることはできません。
ポインタはありますか?
python - PyYAML を使用してドキュメントを yaml の生の文字列としてロードする
次のような yaml ドキュメントを解析したい
これload_all
を PyYAML で行うと、次のようになります
ここで達成しようとしているのは、yaml ファイルに 2 つのドキュメントを含める必要があり、2 つ目のドキュメントは単一の文字列ドキュメント、より具体的にはマークダウン形式の大きなテキスト本体として解釈されることです。YAML 構文として解析されたくありません。
上記の例では、PyYAML は 2 番目のドキュメントを単一の文字列として返します。しかし、2 番目のドキュメントにたとえば:
の代わりに文字が含まれていると、構文エラーが発生します。!
これは、PyYAML がそのドキュメント内のものを解析しているためです。
2番目のドキュメントが生の文字列であり、解析しないことをPyYAMLに伝える方法はありますか?
編集:いくつかの優れた回答があります。引用符またはリテラル構文を使用すると上記の問題は解決しますが、ユーザーが余分な手間をかけずにプレーンテキストを記述できるようにしたいと思います。3 つ-
の 's (または.
's) だけで、大量のプレーン テキストを書き留めます。これには引用符も含まれる場合があります。ですから、PyYAML に 1 つのドキュメントのみを解析し、2 つ目のドキュメントを raw で渡すように指示できるかどうか知りたいです。
Eidt 2 : したがって、2 番目のドキュメントとして try/except を使用する代わりに、agf のアイデアを適用すると、有効な yaml 構文になる可能性があります。
ありがとうございます。