【问题标题】:Pass string to subprocess将字符串传递给子进程
【发布时间】:2014-03-24 16:44:02
【问题描述】:

我正在尝试将输入传递给子进程以运行系统命令,该命令在运行时应将我的界面置于监控模式。但它并没有这样做,它只是打印,就好像我只是自己输入了命令 airmon-ng 而没有 args

这就是我所拥有的

import subprocess


a = raw_imput("Enter interface name")

opt = subprocess.call(["airmon-ng","start", a], shell=False)

我是 python 新手,刚开始对学习 python 感兴趣。

【问题讨论】:

    标签: python-2.7


    【解决方案1】:

    您缺少一个右引号。

    raw_input("Enter interface name")
    

    这也是一个很好的学习资源http://docs.python.org/2/library/subprocess.html

    --编辑--

    取自上述来源

    subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)

    运行 args 描述的命令。等待命令完成,然后返回returncode属性

    因此,如果您要打印“opt”,如果命令执行成功,您将看到“0”。 但是如果有一些输出要捕获结帐this question

    【讨论】:

    • 我实际上在我的编辑器中有这个,只是在这里忘记了。但它不适用于这个。
    • 只是为了澄清,你要运行什么命令,'airmong-ng' 或 'airmong -ng'
    • 抱歉打错了,是airmon-ng
    • 我在回答中添加了一些内容。我建议阅读我参考的一些资料。我不完全确定您遇到了什么问题...是原始输入对您不起作用还是命令的输出?
    • 基本上我要做的是创建一个脚本来将我的卡置于监控模式只是一个测试。我想将用户输入中的变量传递给命令
    猜你喜欢
    • 2017-05-18
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2021-01-20
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多