作者pshuang (雷澤歸妹)
看板Python
標題[問題] 關於 subprocess.check_output 的問題
時間Fri Nov 3 16:59:00 2023
關於 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://webptt.com/m.aspx?n=bbs/Python/M.1699001944.A.8FC.html
1F:推 ckc1ark: shell預設是/bin/sh 可以用executable參數指定/bin/bash 11/03 22:28
3F:→ lycantrope: cmd = ["bash","-c", "echo -ne \x78\x0a"] 11/03 22:38
4F:→ pshuang: 原來如此 11/04 05:58