作者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/cn.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