我正在使用subprocess
来运行命令(来自一个衍生的守护进程)并尝试将结果写入文件。 Popen
生成的字符串为bytestring
。在写入文件之前,如何将其格式化为人类可读的内容?使用python3.2
尝试过:
print (x,file=o)
f.write(str(rc.so))
print (str(rc.so) + "\n")
没有什么看起来可读......
可疑代码:
rc = subprocess.Popen([cmd], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
x = rc.stdout.readlines()
rc.so, rc.se = rc.communicate()
with open(of,'w') as o, open(ef,'w') as e:
print (str(rc.so) + "\n",file=o)
答案 0 :(得分:3)
你需要解码它:
my_byte_string.decode('utf-8')
utf-8可能不是解决您情况的最佳选择,它是众多选项之一。
这样print语句应该更像:
print (rc.so.decode('utf-8') + "\n",file=o)