是否有任何現有的實用程序可以解析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