脚本中的子进程不起作用,当手动启动它时

时间:2014-11-12 10:52:45

标签: python windows python-3.x subprocess pymssql

我有一个从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.exeanother.exe所在的目录开始,脚本运行正常。

1 个答案:

答案 0 :(得分:1)

fetched_data是另一个参数:

proc = subprocess.call(["C:\\absolute\\path\\some.exe ", fetched_data])

它是一个参数LIST而不是字符串,是子进程所期望的。