python - 没有 args 参数的 os.execv

标签 python

我想用一个使用 os.execv 的新进程替换当前进程,除非您没有任何参数,否则它工作正常。

即使我没有要传递给要启动的进程的参数,我该如何调用它?

# Works fine, unless the arguments tuple wouldn't exist or be empty
os.execv('process.exe', ('arg1', 'arg2'))

最佳答案

这三种变体可以解决问题:

cmd = '/usr/bin/vi'
os.execv(cmd, (' ',))
os.execv(cmd, [' '])
os.execl(cmd, '')

通常,参数列表 (sys.argv) 的第一个参数是用于调用应用程序的命令。 所以最好使用其中之一:

cmd = '/usr/bin/vi'
os.execv(cmd, (cmd,))
os.execv(cmd, [cmd])
os.execl(cmd, cmd)

os.exec* documentation on python.org

关于python - 没有 args 参数的 os.execv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384007/

相关文章:

python - 调用或传递可选参数给函数

python - 从另一个文件导入和更改变量

python - 转换列表中项目的更有效方法

python - 是否有 Django "app"可以管理用户的个人资料?

python - 打印不带括号的元组列表 python

python - 尝试循环裁剪图像时出现 TypeError : NoneType,

python - 使用 Google App Engine (Webapp) 访问 Django 模板中的 session 变量 - Python

python - 使用张量的值作为另一个张量的形状?

python - 如何在 matplotlib 中绘制半误差线?

java - 如何将Apach AVRO IDL编译成java?