Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python can';t打印ReadAllStandard输出正确解码_Python_Pyqt_Pyqt5_Qbytearray - Fatal编程技术网

Python can';t打印ReadAllStandard输出正确解码

Python can';t打印ReadAllStandard输出正确解码,python,pyqt,pyqt5,qbytearray,Python,Pyqt,Pyqt5,Qbytearray,我有以下代码,可以将进程的所有输出打印到文本字段中: data = self.m_process.readAllStandardOutput() s = str(data) self.m_ui.b_renderOutput.append(s) 我在输出中得到的是: b'' b'' b'' b'\r\nStarting "C:\\Program Files' b'' b'\\Autodesk\\Maya2018\\bin\\mayabatch.exe"\r\n' b'Initialized VP

我有以下代码,可以将进程的所有输出打印到文本字段中:

data = self.m_process.readAllStandardOutput()
s = str(data)
self.m_ui.b_renderOutput.append(s)
我在输出中得到的是:

b''
b''
b''
b'\r\nStarting "C:\\Program Files'
b''
b'\\Autodesk\\Maya2018\\bin\\mayabatch.exe"\r\n'
b'Initialized VP2.0 renderer {\r\r\n'
我无法用正确的方式解码和打印它。我知道readAllStandardOutput提供的是一个QByteArray

如果要转换为字符串,请先使用该方法将其转换为字节,然后再将其转换为字符串:

data=self.m_process.readAllStandardOutput()

s=data.data().decode()#python2还是python3?PyQt5还是PySide2?因为您似乎正在使用Maya,而这会使用python2执行PySide或PySide2,这会影响答案。请尝试将
s=str(data)
更改为
s=data.decode()
PyQt5和Python3。data.decode()为我提供了错误AttributeError:'QByteArray'对象没有属性'decode',谢谢,这已经成功了,现在我有了一个干净的字符串。最后一件事,你知道我为什么在输出中得到随机换行吗?Like:O\n铅笔计算器正在尝试初始化OpenCL。D\n检测到1个OpenCL平台:@Hyperion不使用append(),因为您插入了一个额外的结束行,而是使用insertPlainText()