Подскажите, как вызвать внешнюю программу с параметрами, и, если возможно, перенаправить ее лог в текстовое поле?
Вот, например, на autoit писал вызов так:
$Conv="D:\TC\WPI_VOG\Apps\MyHomeLib\converters\fb2converter\fb2c.exe"
$Conv_Ini="D:\TC\WPI_VOG\Apps\MyHomeLib\converters\fb2mobi\fb2mobi.toml"
$Fb2In ="J:\My_project_programming\Converter\test\FB2"
$MobiOut="J:\My_project_programming\Converter\test\Mobi"
RunWait($Conv & ' -c ' & $Conv_Ini & ' convert --to mobi ' & $Fb2In & ' ' & $MobiOut & ' --ow ', "", @SW_HIDE)
На Питоне, как я понял, надо что-то такое:
import subprocess Converter = "D:\\TC\\WPI_VOG\Apps\\MyHomeLib\\converters\\fb2converter\\fb2c.exe" ConverterIni = "D:\\TC\\WPI_VOG\\Apps\\MyHomeLib\\converters\\fb2mobi\\fb2mobi.toml" Fb2In = "J:\\My_project_programming\\Converter\\test\\FB2" MobiOut= "J:\\My_project_programming\\Converter\\test\\Mobi" def main(): subprocess.Popen([Converter, ' -c ', ConverterIni, ' convert --to mobi ', Fb2In, ' ' + MobiOut +' --ow']) if __name__ == '__main__': main()
Но не работает. Сама программе запускается строкой:
subprocess.Popen([Converter])