【问题标题】:Parse linux command line with pipes/redirection using python使用 python 解析带有管道/重定向的 linux 命令行
【发布时间】:2011-03-08 06:43:50
【问题描述】:

是否有任何现有的实用程序可以解析 linux 命令行并识别基本管道和重定向:'|''<''>'?最好这可以用作子进程调用的参数,而不是使用os.system.

shlex.split() 进行基本解析,但它的输出不能总是被 subprocess.Popen 使用,就像在这个例子中一样:

sed -f script.sed < infile > outfile

【问题讨论】:

  • 那么你想用Python重写shell吗?为什么不直接调用 shell 呢?

标签: python command-line-arguments


【解决方案1】:

Hotwire 似乎可以做到这一点,this 网页上有一些关于它是如何工作的信息。

IPython IPipe 也有不同的方式来做一些与 Hotwire 相同的事情。

【讨论】:

    【解决方案2】:

    这样的模块不会提供带有 shell=True 选项的 Popen 尚未提供的任何内容。

    http://docs.python.org/library/subprocess.html#using-the-subprocess-module

    它不会存在。

    【讨论】:

    • 这种说法是不正确的。设置 shell=True 不会启用带有 |、> 或
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多