Python: 从文章标题列表创建多个文本文件

0 投票
5 回答
5468 浏览
提问于 2025-04-17 00:11

我有一个很长的文章标题列表,存储在一个文本文件里,我想要遍历这个列表,创建多个文本文件,每个文件的名字都根据列表中的标题来命名。

在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'

撰写回答