Python: 从文章标题列表创建多个文本文件
我有一个很长的文章标题列表,存储在一个文本文件里,我想要遍历这个列表,创建多个文本文件,每个文件的名字都根据列表中的标题来命名。
在C:/articles.txt这个文件里,我有...
星期一
星期二
星期三
星期四
等等...
我希望生成的文本文件名是...
Monday.txt
Tuesday.txt
等等...
实际上,这些文件名并不是星期几,而是几千个我通过谷歌翻译API翻译过的文档,所以我想这些文本需要用unicode格式,这会造成问题吗?
到目前为止,我有:
titles = open("C:/titles.txt",'r')
for lines in titles:
output = open((lines)+'.txt','w')
output.write(lines.strip('\n'))
output.close()
titles.close()
但是我遇到了错误:
Traceback (most recent call last):
File "C:/Python27/createarticle.py", line 5, in <module>
output = open((lines)+'.txt','w')
IOError: [Errno 22] invalid mode ('w') or filename: 'Monday\n.txt'
我试过用repr(lines)和str(lines)打开文件,但都没有成功...我有点迷茫了!
5 个回答
1
每行的末尾都有一个换行符号“\n”。你需要把它去掉,因为这样文件名就变成了“Monday\n.txt”,而“\”在文件名中是无效的。
2
你需要使用 lines.strip()
来去掉文件名中的 \n(换行符)。
output = open((lines.strip())+'.txt','w')
1
针对这个具体的错误,你的文件名中包含了一个"\n"的字符,也就是换行符。试着把 (lines)+'.txt'
改成 lines.strip() + '.txt'
。