2016-02-25 60 views
2

是否有類似於別名(類似BASH的東西)的機制可用於Ipython或Python解釋器?Python解釋器和別名的

舉例來說,如果我發現自己經常做這樣的事情:

var = urllib2.urlopen('http://programmers.stackexchange.com') 

但我不想繼續打出來的字符串。

除了爲它編寫腳本之外,是否有任何方法(出口之間持續存在)縮短請求?

回答

1

沒有,但在你的解釋,這樣寫:

def pse_url(): 
    global var 
    var = urllib2.urlopen('http://programmers.stackexchange.com') 

然後,寫pse_url()每當你需要影響你的變量。 這將是更清潔,不使用全局變量:

var = pse_url() 

如果你有很多這樣的事業,把他們自己的模塊中,當您啓動REPL一次加載它們。

1

我的猜測是,你可以創建lambda表達式功能(和功能作爲一個更大的@coredump建議)等一行表情,見下面的代碼:

se_open = (lambda: urllib2.urlopen('http://programmers.stackexchange.com')) 
so_open = (lambda: urllib2.urlopen('http://programmers.stackexchange.com')) 

知道,如果你需要創建新變種你只需運行命令:

var_se = se_open() 
var_so = so_open() 

你也可以創建腳本,它包含了所有THST快捷方式,並通過命令腳本進口開始蟒蛇:

$ python -i script.py 

在您的REPL中可以使用script.py中定義的所有功能。