2016-03-21 82 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')