我有一个从mssql数据库读取的脚本,并将读取的数据传递给some.exe
的子进程。
数据提取工作正常,但一旦它应该开始proc = subprocess.(["C:\\absolute\\path\\some.exe ", fetched_data]) proc.wait()
它似乎跳过它并继续下一个" fetched_data" ..我也试图使用subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])
如果我在控制台(Windows cmd)中启动python
并执行完全相同的操作。
为什么调用脚本中的子进程不起作用,如果在控制台中手动发出它呢?
编辑问题是脚本中启动的子进程再次使用another.exe
,子进程无法找到它(因为它使用了python路径) 。从some.exe
和another.exe
所在的目录开始,脚本运行正常。
答案 0 :(得分:1)
fetched_data是另一个参数:
proc = subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])
它是一个参数LIST而不是字符串,是子进程所期望的。