python 2.6中没有spawnl函数?

YOU*_*YOU 3 python python-2.6

我只是注意到我用python 2.5编写的旧代码现在不起作用.我在python 2.6 btw.

>>> os.spawnl(os.P_NOWAIT,"setup.exe")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python26\lib\os.py", line 612, in spawnl
    return spawnv(mode, file, args)
OSError: [Errno 22] Invalid argument
>>>
Run Code Online (Sandbox Code Playgroud)

任何线索?或者你有任何os.spawn*的工作样本与NOWAIT选项.

更新:

即使我在os.spawnl()中放入完整路径,它仍然是错误的.

Ewa*_*odd 5

thrope是正确的subprocess首选.但是spawn*的东西仍然存在于2.6中.实际上,您可以在错误消息中看到它.你的第一个arg似乎是有效的.我会检查第二个arg,这是路径.


YOU*_*YOU 5

我通过最后添加DUMMY参数得到它的工作,虽然有点时髦

这不起作用

os.spawnl(os.P_NOWAIT,"Setup.exe")
Run Code Online (Sandbox Code Playgroud)

这也行不通

os.spawnl(os.P_NOWAIT,"Setup.exe","")
Run Code Online (Sandbox Code Playgroud)

但这很有效

os.spawnl(os.P_NOWAIT,"Setup.exe","DUMMY")
Run Code Online (Sandbox Code Playgroud)

无论如何,谢谢大家.