Re: [問題] file讀取問題
※ 引述《pinkisme ()》之銘言:
: class random_pick:
: def __init__(self,file_name):
: self.r_content = open(file_name).readlines()
: def random_pick(self,num):
: w_content = random.sample(self.r_content,num)
: def writeTofile(self):
: pass
: def mergeFile(self,*files):
: self.data = []
: for file_name in files:
: self.data = open(file_name).readlines()
: files = ['0.txt','t2.txt']
: x.mergeFile(files)
: 在mergeFile這個function會出錯,
: 誤訊息是TypeError: coercing to Unicode: need string or buffer, list found
: 改了很多次還是不曉得為啥會錯= ="
: 這個function主要是拿來把很多檔案合成一個,方便處理
: 不過現在寫的有些問題,希望各位能幫忙看看@@"
: 謝謝
我不是很確定你想要做的是什麼功能...
不過你可以試試看這個:
data = sum([open(f,"rb").readlines() for f in file_name],[])
→ cccx:def mergeFile(self,*files): <-- files 前面不用加* 07/21 00:42
→ cccx:另外: open檔案後 最好加上close 可以避免重複開啟的問題 07/21 00:44
→ cccx: 以及開啟太多檔案的問題 07/21 00:48
後面的說法不對...
python 本來就有 garbage collecting,
即使你用了 gc.disable() 也只會關閉 cyclic GC(註1),
而由於 reference count 歸零的 GC 永遠會進行.
註1:
在有 cyclic reference 的時候, 即使一些 object 已經完全沒辦法取用,
它仍然可能有非零的 reference counter, 例如...
for k in xrange(1000000):
j = []
j.append(j)
在正常的情形下, 每次迴圈產生出的新 list 應該都會被 cyclic GC 釋放,
但如果呼叫過 gc.disable(), 那麼就會產生 memory leak 了.
--
「ふ…ふざけるな!そんあ短い咒文で、魔法を起動できるわけないだろうが!
お前わマウゼルの神に逆らう氣なのか?!傲慢な~」
「失禮致しました、誠實に全力でお相手致します。
第一戰術級‧軍用攻性魔法‧出よ、武雷神〈トール〉!」
〈スクラップド‧プリンセス〉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.224.64
※ 編輯: Freak1033 來自: 140.109.224.64 (07/21 02:12)
推
07/21 10:54, , 1F
07/21 10:54, 1F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章