Python 运行外部程序无非就三种:os.system, os.popen, subprocess.getstatusoutput
后来经大佬的提醒,才发现Qt中也有这方面的功能。PyQt的魅力又一次大放光彩😄。
一共就俩步骤:
- 创建进程:
process = QtCore.QProcess()
- 启动进程:
process.start('cmd.exe', ['dir'])
process = QtCore.QProcess()
process.start('cmd.exe', ['dir']) # 运行外部程序,后面的列表是参数
process.waitForFinished(1000) # 等它结束。超过1秒就不等了
output = process.readAll() # 读取输出结果。
print( str(output, encoding='u8') ) # 它是QByteArray类型,所以需要编码成unicode
网友评论