2012-04-08 8 views
0

人と機械の両方が読める構造化ファイルデータを格納する必要があります。私は主にこれらのファイルを開く/編集/読み込むためにPythonを使用します。しかし私は他のプログラムも使う必要があるかもしれません。Human-Machine Readable - ファイル内の構造化データ格納

私はXML/XPATHを使用していました。しかし、xpathライブラリは虚弱であり、大部分のシステムでは大きな不満を抱くことはありません。私はxpathを把握しようと疲れています。私はスクリプトを別のプラットフォームに移植します。

[email protected]:~/$ program -arg1 "foo" -arg2 
    File "/home/me/bin/script.py", line 16, in <module> 
    from xml import xpath 
ImportError: cannot import name xpath 

BTW、sudo apt-get install python-xmlこの問題は修正されません。

結論は、私がxml/xpathでうんざりしていることです。私は、すべてのプラットフォームで、すべてのケースで問題なく動作するソリューションを求めています。

何を使用できますか?助言?

+0

何を使っていますか? XPath/XQueryはネストされたデータを照会する非常に強力な手段であり、プラットフォーム間で最もサポートされていると言えます。 JSONのクエリ言語はまだ堅牢ではありませんが、単純なクエリが必要な場合は非常に幅広いプラットフォームサポートがあります。 YAMLはもっと簡単な代替手段です。 JSON/XMLのような複雑なネストされたデータには適していません。 –

答えて

1

xml.etree.elementTreeは、Python 2.5以降の標準ライブラリの一部です。また、基本的なXPath findall関数も含まれています。

また、xml.etree.ElementTreeのインターフェイスを模倣するが、より高度なXPath式をサポートするlxml's XPath methodsを使用できます。ただし、lxmlは標準ライブラリの一部ではないため、installedである必要があります。

多くのタスクでは、XMLではなくJSONを使用することもできます。 JSONは、プログラミング言語のネイティブ関数を解析してトラバースするのが簡単です。

関連する問題