1
我正嘗試從python向終端提供字符串,但無法正確格式化字符串。字符串內的報價
c="awk -F\"\t\" '{print$5\" \"$6\" \"$7}' file.txt | sort | uniq -c"
,當你在shell看看這個你:
>>> f="awk -F\"\t\" '{print$5\" \"$6\" \"$7}' file.txt | sort | uniq -c"
>>> f
'awk -F"\t" \'{print$5" "$6" "$7}\' file.txt | sort | uniq -c'
爲什麼單引號之前有沒有\的?我如何擺脫它們? 我已經試過「」「串」「」和「」「串」「」
在以前的節目,我有這樣的:
>>> t="awk '{print $4}' file.txt | sort | uniq"
>>> t
"awk '{print $4}' file.txt | sort | uniq"
我不知道有什麼區別
嘗試輸入'print(f)'而不是'f'。 – 2rs2ts
它打印的很好,但我在subprocess.Popen函數中使用它,我不認爲字符串的打印形式是傳遞給終端的東西 – user3266890
你在''repr'(表示) ',如您注意到的那樣,它顯示爲單引號字符串,所以它必須轉義其他單引號。打印時不包含在引號中,因爲您沒有看到它的「repr」。使用'subprocess.Popen'時可以進行類似的測試。爲什麼不把它傳遞給'echo'就可以了? – 2rs2ts