0

Python で minidom を使用して、完了したタスクの XML 形式のログ ファイルを作成しています。プロセスの一部は、ファイルの最終変更時刻と、そのファイル データがログに記録された時刻を比較することです。私は次の方法でそれを行う予定です:

if modTime < recTime:
  do_something()

たとえば、foo.pdf午前 10 時 40 分に変更された後、午前 10 時 46 分にログに foo.pdf の変更時刻が記録されたとします。したがって、ログの一部は次のようになります。

<Printed Orders>
  <foo.pdf>
    <Date Recorded>
      1352486780
    </Date Recorded>
  </foo.pdf>

ただし、時間を整数形式で XML ファイルに書き込もうとすると、次のエラーが発生します。

TypeError: node contents must be a string

それで、私の質問は次のとおりです:
XMLファイルに整数を書き込む方法はありますか? (より多くのインポートでスクリプトを混乱させないために、minidomを使用することをお勧めします)

そうでない場合、記録された時間を変換するよりも、ファイル自体から取得した変更時間とXMLファイルから取得した記録された時間を比較するより良い方法はありますか文字列に変換し、XML ファイルに書き込み、後で XML ファイルから rec 時間を取得し、その文字列を整数に変換しますか?

foo.pdfまた、ご参考までに、ディレクトリのパージ、削除、およびその他のファイルの mod/rec 時間の比較に基づいて、1 日 1 回の計画を実行する予定です。foo.pdfログに入力されてから変更されていない場合は、削除されます。

ありがとう!

4

1 に答える 1

0

期待する出力を見てください。それが整数か文字列かをXMLはどのように知るのでしょうか。一般に XML では、すべてをタグで表現する必要があります。したがって、すべてが文字列として扱われます。

他の時間が int でない限り、文字列を int に変換する必要はありません。これは、時間文字列が現在よりも長い間 (3,000 年以上) 長くならないためです。しかし、なぜあなたがその変換を嫌うのか、私にはわかりません。本当に大事な場合は、JSON を使用してください。

于 2012-11-09T19:25:54.513 に答える