下面的代碼執行批處理文件的工作:PyQt的 - QProcess中無法運行命令「CHCP」直接但從批其優良
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'在你的'PATH'中,而'chcp.bat'文件不是(或不可執行的)。 – Frodon
但'chcp'是標準的'CMD'命令,無任何路徑 –
是的,因爲它在系統PATH中。嘗試使用bat文件的完整路徑。如果它有效,那麼你必須將這個文件路徑添加到你的系統PATH中。 – Frodon