我遇到了子進程和打印引號的問題。python子進程調用bash腳本 - 也需要打印報價
我的Python腳本需要用戶輸入,將它篡改一下 - 我需要它以這種方式將結果發送到bash腳本。
myscript.sh 'var1 == a var2 == b; othervar == c' /path/to/other/files
我掛斷的地方是單引號。 Python試圖將它們撕掉。
我把這個用於我的測試。
subprocess.Popen([myscript.sh 'var=11; ignore all' /path/to/files], shell=True, executable="/bin/bash")
它返回無效語法指向第二個單引號。我也嘗試了上面沒有括號和外部使用單引號和內部雙引號等。
其他 - 似。
正如我上面說的'var == a var == b; othervar == c'是從python腳本(以字符串格式)派生的 - 我需要在子進程中調用它,像這樣。
subprocess.Popen([myscript.sh myvariables /path/to/files], shell=True, executable="/bin/bash")
我只需要像第一個例子一樣把單引號放在myvariables的值周圍。
任何指針,我要去哪裏正確的方法?
謝謝。
我想我們今天有這個錯誤。是什麼讓人們認爲這是遠程有效的語法?列表項目用逗號分隔。而一個空白的「foo」與字符串「foo」無關。 (另外:我不能罰你引用的例子,你介意給出一個行號?) – delnan 2011-01-25 20:17:37