看板 Python 關於我們 聯絡資訊
關於 subprocess.check_output 的問題 程式碼如下,請看 ----------------------------- #! /usr/bin/python3 import subprocess cmd = 'echo -ne "\\x78\\x0a"' print(cmd) out_str = subprocess.check_output(cmd, shell=True).decode('utf-8') print(out_str) ------------------------------ 執行結果: ~$ ./test.py echo -ne "\x78\x0a" -ne \x78\x0a ~$ 但是,在 shell 直接執行該命令 ~$ echo -ne "\x78\x0a" x ~$ 請問要如何做,才能讓執行系統命令有預期的結果? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.53.5 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1699001944.A.8FC.html
ckc1ark: shell預設是/bin/sh 可以用executable參數指定/bin/bash 11/03 22:28
ckc1ark: https://stackoverflow.com/q/33784892 11/03 22:32
lycantrope: cmd = ["bash","-c", "echo -ne \x78\x0a"] 11/03 22:38
pshuang: 原來如此 11/04 05:58