2013-01-21 127 views
0

我想在python中使用QProcess命令來執行perl文件。但是,當我嘗試使用QProcess.start命令時它不起作用,但在我使用os.system命令時執行。 如何在python中使用QProcess執行perl文件以及如何將執行的輸出打印重定向到QTextBox? 下面是一段代碼,我想:如何使用os.system命令將python控制檯輸出重定向到QTextBox?

這裏它不執行perl的文件...

os.chdir('E:\Jayakanth\python_proj\code\py_files\H264_perl_script') 
qprocess = QtCore.QProcess() 
qprocess.start('example.pl') 
qprocess.waitForFinished(-1) 
msg = str(qprocess.readAll()) 
self.textbrowser.append(msg) 

但它的工作原理是這樣的:

import os 
os.system('example.pl') 

或如何重定向操作系統.system執行python控制檯輸出到Qtextbox?

+0

那麼,qprocess.start是否提供任何返回值,錯誤消息或拋出任何異常? –

+0

感謝您的支持Mr.Len Jaffe 我可以通過以下方式解決上述問題: qprocess.start('E:/path/to/perl.exe','example.pl') 但是我們指定路徑應該被注意。 這裏還有一個問題。 這就是我想連續運行一個循環,如果單擊一個QCheckbox,並且當點擊一個QPushbutton時我必須停止循環 請幫我做這個 – Jayakanth

+0

QT只是其中的一個,沒有經驗。我也無法在線找到QProcess的「優秀」教程或參考資料,但如果您要在SO上搜索QProcess,您會發現幾個類似的問題和答案,可能會對您有所幫助。 –

回答

0

考慮,你似乎是在Windows上,你可能需要提供傳遞給使用os.system()

使用os.system('E字符串中的完整路徑Perl可執行文件:\路徑\ to \ perl.exe example.pl');

這是我的猜測。

+0

它正在使用os.system即使我沒有給出perl可執行文件的完整路徑,但我無法用QProcess執行。 關於如何使用QProcess執行相同的任何想法 – Jayakanth

相關問題