$ ./a.py b.xml
これで結構です。a.py はファイルを読み取り、何かを出力します。
a.py は次のように引数を読み取ります
# Each argument is a file
args = sys.argv[1:]
# Loop on files
for filename in args :
# Open the file
file = open(filename)
他のスクリプトにパイプアウトしたい。
$ ./a.py b.xml | grep '1)'
これにより、python エラーが発生します。
これも失敗
$ x=$(./a.py b.xml); echo $x...
| などのシェルスクリプト構文を解釈しないように Python に指示する方法 $() `` ?
エラーは
Traceback (most recent call last):
File "./flattenXml.py", line 135, in <module>
process(file, prefix)
File "./flattenXml.py", line 116, in process
linearize(root, prefix + "//" + removeNS(root.tag))
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 104, in linearize
linearize(childEl, path + '/' + numberedTag)
File "./flattenXml.py", line 83, in linearize
print path + "/@" + removeNS(name) + "=" + val
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 106: ordinal not in range(128)
Python スクリプトはPython レシピからのものです。