python 寫入檔案 只能寫入一行

2022-02-18 07:50:50 字數 2629 閱讀 7487

1樓:玩轉資料處理

ft = open("a", 'w')

try:

ft.write('\n'.join(result))except:

log.error('write backup error:'+jobname)

finally:

ft.close()

os.chdir(basepath)

2樓:魂輓歌

ft.write(entry+'\n')

這裡沒有寫寫入模式,使用追加模式 「a」

3樓:

問題描述:在迴圈中將內容寫入檔案,但是本段**在第一次迴圈中將檔案關閉了,所以後邊的寫不進去。

解決方案:有兩種解決方法

第一種:

ft = open("a", 'w')

for entry in result :

print entry

try:

ft.write(entry+'\n')

except:

log.error('write backup error:'+jobname)

ft.close()#在內容寫完後再關閉檔案

os.chdir(basepath)

第二種:

for entry in result :

#注意:在每次進入迴圈後先開啟檔案

ft = open("a", 'a')#注意:第二個引數,是以追加形式開啟,否則還是隻有一行

print entry

try:

ft.write(entry+'\n')

except:

log.error('write backup error:'+jobname)

finally:

ft.close()

os.chdir(basepath)

建議使用第一種,因為第二種頻繁對檔案進行開啟和關閉操作,效率較低。

對於檔案操作建議你看看這篇部落格

總結:注意檔案open(filepath, mode)方法,第一個引數是檔案路徑,第二個是檔案操作模式。其中如果模式是」w「那麼是以寫的方式開啟,那麼原先的內容都沒了,而模式『a』是以追加寫操作,是在檔案末尾追加,不會擦除之前的內容,還有其他的模式請檢視上邊那篇部落格。

此外,對於python中的try-except-finally的問題,這個是當try-except之間的**沒有丟擲異常的情況下,執行try和finally;當try-except之間的**出錯時,執行except和finally。這一點要注意。

4樓:匿名使用者

你在for迴圈裡面,try except finally,然後finally中把開啟的檔案控制代碼關閉了,還能寫嗎?

5樓:匿名使用者

try finally中finally是肯定會執行的,你執行一次就關閉檔案了,只有一行,回去看看基本的語法知識吧,別跑了

6樓:匿名使用者

ft.close()放在for迴圈外面試試~

python 如何將列表寫入檔案

7樓:搞怪一樂

python把列表寫入檔案的詳細**:

list = ['foo', 'bar']sep = ','

fl=open('list.txt', 'w')fl.write(sep.join(list))fl.close()

sep是分隔符,sep='\n'就是分行輸入另外提醒一下,考慮一下list裡含有數字:,用str()函式轉一下,看你要處理的資料了。

**使用舉例:

>>> l=["a","b","c","d"]>>> f=open("k.txt","w")>>> f.write(str(l))

>>> f.close()

這樣的輸出就是一個list  ["a","b","c","d"]

8樓:

測試了一下前面朋友的**,python2.7.5不能執行,改了一下

9樓:

list = ['foo', 'bar']sep = ','

fl=open('list.txt', 'w')fl.write(sep.join(list))fl.close()

sep是分隔符,sep='\n'就是分行輸入另外提醒一下,考慮一下list裡含有數字:,用str()函式轉一下,看你要處理的資料了

10樓:

fh = open("test", 'w')for item in item_list:

print >>fh, item

close(fh)

11樓:匿名使用者

如果要更新檔案,先將檔案中的列表讀入,然後修改列表,再寫回檔案就可以了。

下面**是將列表寫入檔案:

list = ['foo', 'bar']s = list.join('\n')

open('list.txt', 'w').write(s).close()

望採納~

python多程序寫入同檔案,經常報錯找不到檔案,該

import threading,timedef write file,lock lock.acquire 鎖抄 住print 開始襲寫出 file.write 寫出 print 寫出完 zhi畢 lock.release 解鎖 return true lock threading.lock 獲取一...

ASP不能寫入SQL資料庫,報錯

更新,不是value,是values,倒下。有錯。自己修改自己答案 sql insert into example3 name,tel,message 寫成 name,tel,message 幾點供參考 1.把ie高階設定中的 顯示http友好錯誤資訊 的鉤去掉。這樣可以看到錯誤內容。2.conn保...

跪求!!硬碟上不能寫入大的資料

很可能是硬體的問題,你可以先到別的電腦上試一下行動硬碟能不能做大的資料傳輸,排除行動硬碟本身的問題,然後再考慮你電腦系統和其他硬體的問題.有資料線的話就先換根線試下 有過同樣的經歷,當時以為硬碟壞了,換到另一臺機竟沒有出錯,換了主機的電源,還是不行,後來發現cpu的風扇有點問題,換掉,搞定了 1.換...