2016-05-26 20 views
-2

pythonでlong linuxコマンド用のsubprocess.call()を使用する方法。私はLinuxのシェルで空白ですべてのコンマを置き換えることで、ファイルの呼び出しrecords.txtを編集したい場合は、私ができるように:Pythonでsedコマンドを使用する

tr ',' ' ' < records.txt 

ことsubprocess.callでのpythonで()を使用する方法。 おかげ

+2

のpythonが悪いのでしょうか? –

+0

私はちょうどpythonとlinuxコマンドの間の変換を試してみてください – Anh

答えて

-1

records.txt:

jflaskdzhuskajkdkhdsa,dakssdsd,s,a,sa,sas,s,,sas,wwq,wq,wq,w,q,wq,wq,,wq,wq,e,d,rdsa,s,aa,ews,,WQD,AS,SA,WRFDSS, 

のpythonファイル:

import subprocess 
subprocess.call("tr \',\' \' \' < records.txt", shell=True) 

出力:

jflaskdzhuskajkdkhdsa dakssdsd s a sa sas s sas wwq wq wq w q wq wq wq wq e d rdsa s aa ews WQD AS SA WRFDSS 
+0

それは動作します、ありがとう。しかし、私はなぜシェル=真が必要なのかわからないのですか? – Anh

+0

shell引数(デフォルトはFalse)は、シェルを実行するプログラムとして使用するかどうかを指定します。 shellがTrueの場合、argsをシーケンスではなく文字列として渡すことをお勧めします。 シェルがTrueの場合、シェルのデフォルトは/ bin/shです。 argsが文字列の場合、文字列はシェルを通して実行するコマンドを指定します。これは、シェルプロンプトで入力したときとまったく同じように文字列をフォーマットする必要があることを意味します。 詳細: - https://docs.python.org/2/library/subprocess.html –

関連する問題