→ timTan:with 很讓人開心 05/19 10:51
※ 引述《sandwichC (沒回應=掛站)》之銘言:
: - 意料外的檔案參考可能使它存在的時間比預期的時間久,如:在例外追縱中,
: 或在 global 之中 (編案:我不知道 inside globals 是什麼意思)。
有個內建函數叫globals(),會回傳global symbol table的dictionary。
官網敘述:http://docs.python.org/2/library/functions.html#globals
每個module都有自己的global namespace,
而global symbol table即是用來紀錄namespace裡有哪些變數。
所以回收機制可能會誤以為沒在用的file物件仍然有被參考。
(話說global_table = globals()之後可以做有趣的事情。)
: 操作檔案時優先使用 with 敘述:
: with open("hello.txt") as hello_file:
: for line in hello_file:
: print line
補充:用with好處是會自行關檔。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.196.214