2016-03-21 79 views
1

的Python添加行轉換字符串時到文本文件

我有1000+的文件中包含IMAG0000.JPG數值連續的名字,我已經保存爲列表,轉換成字符串,並將其保存爲文本文件。我想文本文件看起來像這樣:

IMAG0000.JPG 
IMAG0001.JPG 
IMAG0002.JPG 
IMAG0003.JPG 
... 

目前,它看起來像:

IMAG0000.JPGIMAG0001.JPGIMAG0002.JPGIMAG0003.JPG... 

我不能完全弄清楚哪裏放\ n讓它正確地格式化。這是我迄今爲止...

import glob 

newfiles=[] 
filenames=glob.glob('*.JPG') 
newfiles =''.join(filenames) 

f=open('file.txt','w') 
f.write(newfiles) 
+0

'\ n'.join(文件名)也許是 – Matthias

+0

使用'' \ n'.join(文件名)'而不是'''.join(文件名)' – zondo

+0

不要忘記關閉文件處理程序 – dm295

回答

1

試試這個:

newfiles = '\n'.join(filenames) 

邊注:與文件對象打交道時it's good practice to use the with keyword,所以代碼:

f=open('file.txt','w') 
f.write(newfiles) 

將成爲:

with open('file.txt','w') as f: 
    f.write(newfiles) 

那樣喲你不需要明確地做f.close()關閉文件。

3

您用一個空字符串''而不是'\n'連接。

newfiles = '\n'.join(filenames) 
f = open('file.txt','w') 
f.write(newfiles) # keep in mind to use f.close() 

或更安全的(即釋放文件句柄):

with open("file.txt", w) as f: 
    f.write('\n'.join(filenames)) 

代替concatting一切:

with open("file.txt", w) as f: 
    for filename in filenames: 
     f.write(filename + '\n')