使用Python解析带有管道/重定向的Linux命令行

0 投票
2 回答
816 浏览
提问于 2025-04-16 13:11

有没有现成的工具可以解析Linux命令行,并识别一些基本的管道和重定向符号,比如 '|''<''>'?最好是能用来作为子进程调用的参数,而不是使用 os.system

shlex.split() 可以进行基本的解析,但它的输出并不总是能被 subprocess.Popen 使用,比如在这个例子中:

sed -f script.sed < infile > outfile

2 个回答

0

Hotwire 看起来可以做到这一点,这个网页上有一些关于它是如何工作的资料。

IPython IPipe 也有一种不同的方法来完成一些和 Hotwire 相似的功能。

-1

这样的模块其实没有什么新东西,因为用Popen并把shell设置为True时,已经能做到这些了。

可以查看这个链接了解更多: http://docs.python.org/library/subprocess.html#using-the-subprocess-module

所以,这个模块是不会存在的。

撰写回答