2014-09-01 35 views
1

通常,當我使用IDLE外殼時,我導入pickle模塊。我可以在啓動時自動導入pickle嗎?是否可以告訴IDLE python shell每次啓動時自動導入模塊?

+0

@Burhan Khalid:不是重複的,因爲該解決方案適用於Python shell,而不是閒置。這些解決方案不適用於閒置。 – Carpetsmoker 2014-09-01 10:49:26

+1

@Burhan Khalid:我是CPython核心開發人員,目前是主要的空閒開發人員。 Carpetsmoker是正確的;這不是重複的。用戶代碼在__main__模塊中執行* not *。這就是爲什麼在__main__模塊中執行代碼的普通python解決方案毫無用處。事實上,他們甚至可能在禁用空閒的意義上是危險的。用戶代碼是在一個單獨的命名空間中執行的,用於模擬__main__。因此需要單獨的手段來影響用戶代碼的環境。 – 2014-09-15 05:11:57

回答

1

可以使用-c或 - r參數:

idle -h

-c cmd  run the command in a shell, or 
-r file run script from file 

例如:

idle -c 'import pickle, sys' 

或者:

idle -r ~/my_startup.py 

my_startup.py可能包含:

import pickle, sys 

您可以創建一個shell別名始終使用此,或創建一個單獨的腳本;這個過程取決於您的操作系統和外殼。

+1

根據我使用-c「import itertools」的測試,當shell重新啓動時,效果消失,就像從編輯器運行文件時那樣。我有一個想法來部分解決這個問題,通過在單獨的進程中運行文件並保留交互式shell,但這是最好的將來。 – 2014-09-15 05:18:41

相關問題