Python 重新 import 模塊——reload()
轉載自:http://blog.chinaunix.net/uid-7448695-id-2626493.html
寫 Python 程序的時候,一邊寫模塊一邊調試。調試是在 python 自身的命令行終端進行的,效果還不錯。當然有一個問題:模塊 import 之後,調試過程中發現 bug,當然就想卸載或重新加載。不過沒有找到類似 un-import 這樣的東西。
後來才發現,原來有 reload() 這個函數,可以重新加載模塊的。比如:
import sys
reload(sys)
這樣模塊調試發現問題後,就可以修改並重新加載,重新調試了。
另外需要說明的是,如果有依賴的模塊也修改了,記得先 reload() 依賴的模塊,然後再 reload() 被調試的模塊。
使用enumerate()獲取序列迭代的索引和值
li = ['a','b','c','d','e']
print enumerate(li)
for i,j in enumerate(li):
print i,j
enumerate() 函數內部實現:
def enumerate(sequence,start = 0):
n = start
for elem in sequence:
yield n,elem
n += 1
要獲取迭代過程中字典的key和value,應該使用iteritems():
for k,v in dic.iteritems():
print k,":",v