我试图将一个输出转换成一个变量,我在线阅读了使用子流程模块的内容。你知道吗
我试过这个:
#coding: utf-8
import subprocess as sp
output = sp.check_output("echo test && pwd && ls", shell=True)
print(output)
但结果是:
# python test_subprocess.py
b'test\n/data/data/com.termux/files/home\nkali-armhf\nkalinethunter\ntest_subprocess.py\ntestip.py\nwebserver\n'
(注意:我使用termux,Android上的终端仿真器)
如何将这个输出“转换”成更清晰的输出?
比如没有b'
或者没有工作\n
?
谢谢
sb.check_output
函数返回一个bytes对象,它类似于字符串,但表示原始字节。要实际查看原始数据的解码版本,请使用print(output.decode())
,而不只是打印输出。你知道吗您可以看到当前的输出,因为
print
函数调用bytes对象上的str
,该对象返回到一个包含尽可能多信息的表示。这意味着,不会发生自动解码。你知道吗您可以解码(将字节转换为str)并替换新行
结果:
基本上,我是这样使用的:
相关问题 更多 >
编程相关推荐