首页 > 解决方案 > 如何在 Python 中执行这个 unix 进程?连接参数时的问题

问题描述

我有一个需要传递一些参数才能开始执行进程的文件。该文件是../main/serv。如果我在 unix shell 终端中执行此命令,一切都会好起来的。

../main/serv -o phy=dhc=file:serv:1 -o in=dhc,0 -o out=file:phy_out:1 -o eui48=01:00:00:00:00:00

我从我的 python 脚本中调用这个函数来启动这个过程,但它不起作用。

    subprocess.call(["../main/serv", "phy=", "dhc=file:serv:1", "in=", "dhc,0", "out=" , "file:phy_out:1", "eui48=01:00:00:00:00:00"])

我一直在寻找解决方案,但找不到,我认为我没有正确传递参数,我该怎么做?

谢谢!

标签: pythonshellunixprocessscripting

解决方案


我认为我没有正确传递论点,我该怎么做?

只需传递您在 shell 中执行命令时传递的相同参数,因此更改它

    subprocess.call(["../main/serv", "phy=", "dhc=file:serv:1", "in=", "dhc,0", "out=" , "file:phy_out:1", "eui48=01:00:00:00:00:00"])

    subprocess.call(["../main/serv", "-o", "phy=dhc=file:serv:1", "-o", "in=dhc,0", "-o", "out=file:phy_out:1", "-o", "eui48=01:00:00:00:00:00"])

推荐阅读