我在使用os.system命令正確轉義從Python內部對shell的調用時遇到了問題。我試圖做的相當於:正確處理shell使用os.system從Python轉義
$ cat test | sort --stable -t $'\t' -k1,1
從Python內部,將它傳遞給shell。
我想:
import os
cmd = "cat %s | sort --stable -t $'\\t' -k1,1" %("test")
os.system(cmd)
,但我得到的錯誤:
sort: multi-character tab `$\\t'
雖然它從殼正常工作。我試圖通過在Python中添加額外的斜槓來逃避\t
,但我必須缺少其他的東西。任何想法如何解決這個問題?
感謝。
可以傳遞文件名作爲arg進行排序,並跳過'cat file |'。祝你好運。 – shellter