PyQt - Qprocess 不能 运行 直接命令 "chcp" 但从批处理中没问题
PyQt - Qprocess Can not run command "chcp" directly but from batch its fine
以下用于执行批处理文件的代码:
def GetCMD_Encoding(self):
self.CMD = QProcess(self)
self.CMD.setProcessChannelMode(QProcess.MergedChannels)
self.CMD.readyReadStandardOutput.connect(self.EventDataForGetCMDEncoding)
self.CMD.start("chcp.bat")
def EventDataForGetCMDEncoding(self):
output = bytearray(self.CMD.readAllStandardOutput())
output = output.decode("ascii")
print (output)
.bat文件的内容只有:
chcp
但是如果我想排除但文件,我只执行简单的命令,如:
self.CMD.start("chcp")
它不工作并且不发出任何类型的信号。
其他命令的工作方式如下:
self.CMD.start("ipconfig")
self.CMD.start("help")
你应该尝试
- 使用文件的完整路径
chcp.bat
- 或者将文件
chcp.bat
的路径添加到你的系统PATH
并可能确保该文件是可执行的。
以下用于执行批处理文件的代码:
def GetCMD_Encoding(self):
self.CMD = QProcess(self)
self.CMD.setProcessChannelMode(QProcess.MergedChannels)
self.CMD.readyReadStandardOutput.connect(self.EventDataForGetCMDEncoding)
self.CMD.start("chcp.bat")
def EventDataForGetCMDEncoding(self):
output = bytearray(self.CMD.readAllStandardOutput())
output = output.decode("ascii")
print (output)
.bat文件的内容只有:
chcp
但是如果我想排除但文件,我只执行简单的命令,如:
self.CMD.start("chcp")
它不工作并且不发出任何类型的信号。
其他命令的工作方式如下:
self.CMD.start("ipconfig")
self.CMD.start("help")
你应该尝试
- 使用文件的完整路径
chcp.bat
- 或者将文件
chcp.bat
的路径添加到你的系统PATH
并可能确保该文件是可执行的。