【问题标题】:Python3 run os.popen with argument?Python3 使用参数运行 os.popen?
【发布时间】:2015-03-15 06:03:02
【问题描述】:

我在运行以下查询时遇到困难。有人可以帮我解决它的问题吗?

def test():
cmd="python /home/shanaka/volapp/volatility-2.3.1/vol.py -f /home/shanaka/memory_sample/ubuntu-12.04-amd64-jynxkit.mem ---profile={0} {1}".format(OSselection.get(),option.get())
f1 = os.popen3(cmd)
for lt in f1.readlines():
    print(lt)

这不是打印,Option.get是作为另一个命令,错误如下:

Volatility Foundation Volatility Framework 2.3.1

ERROR : ma​​in : 您必须指定要执行的操作(尝试 -h) /bin/sh: 2: linux_banner: 未找到

请帮我解决这个问题。

【问题讨论】:

  • 这不是您的实际代码; Python 3.4 中没有os.popen3。还有其他问题。 1. 确保您可以从命令行手动运行vol.py 2. 使用subprocess 模块运行它(将参数作为列表传递)
  • 我使用了子进程,它给出了很多错误,这就是我使用这个的原因,没有变量,这个代码可以工作。当我把变量,不工作。
  • 包含“有效”的不带变量的代码。

标签: subprocess popen python-3.4


【解决方案1】:

f1 = os.popen("python /home/shanaka/volapp/volatility-2.3.1/vol.py -f /home/shanaka/memory_sample/ubuntu-12.04-amd64-jynxkit.mem --profile="+OSselection.get().rstrip()+" "+ option.get().rstrip())

参数作为新行,所以我删除了新行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 2021-07-27
    相关资源
    最近更新 更多