是否有任何现有的实用程序可以解析linux命令行,并识别基本管道和重定向:'|'
,'<'
和'>'
?优选地,这可以被用于作为子进程调用的参数,而不是使用os.system.
使用python解析linux命令行/使用python重定向
shlex.split()
确实基本解析,但它的输出并不总能由subprocess.Popen
在此实施例中使用,如:
sed -f script.sed <infile> outfile
是否有任何现有的实用程序可以解析linux命令行,并识别基本管道和重定向:'|'
,'<'
和'>'
?优选地,这可以被用于作为子进程调用的参数,而不是使用os.system.
使用python解析linux命令行/使用python重定向
shlex.split()
确实基本解析,但它的输出并不总能由subprocess.Popen
在此实施例中使用,如:
sed -f script.sed <infile> outfile
这种模块将不会提供Popen与shell = True选项尚未提供的内容。
见http://docs.python.org/library/subprocess.html#using-the-subprocess-module
这将不存在。
Hotwire好像它可以做到这一点,this网页有一些关于如何工作的信息。
IPython IPipe也有不同的方式做一些与Hotwire相同的东西。
所以你想重写Python中的shell?为什么不简单地调用shell呢? – 2011-03-07 21:12:08