2011-09-25 76 views
2

在我坐下來開始黑客攻擊之前,我想我會來這裏看看你們是否有任何提示,或者即使之前已經做過類似的事情。在Python中重新創建一個類似shell的解釋器?

我想在python程序中重新創建一個基本的shell語法。換句話說,當人們運行使用python的文件,他們將被一點點提示

>> 

對於簡單的東西映入眼簾,使用選項解析器說

opt.parse_args(input.split(" ")) 

工作得很好,但現在我想不僅要像'\'字符那樣使用空格這樣的特殊字符,而且還要將帶引號的字符串視爲單個參數,就像在unix shell中一樣。

是否存在任何可能對此有幫助的東西?

感謝您的任何建議! - Chase

回答

15

開始與shlex模塊:

$ pydoc shlex 
Help on module shlex: 

NAME 
    shlex - A lexical analyzer class for simple shell-like syntaxes. 

您可以使用它像這樣:

>> import shlex 
>> shlex.split('This "is a" test.') 
['This', 'is a', 'test'] 

這只是事物分割成邏輯令牌;它不會像變量擴展等那樣做任何事情。這仍然取決於你,就像運行命令一樣。

+0

哇,這很方便。這就是爲什麼我愛蟒蛇!謝謝。 – cemulate

相關問題