提问人:Python Asker 提问时间:8/12/2022 更新时间:8/12/2022 访问量:30
我无法使用此代码创建多个文件,这是怎么回事?
I am unable to create multiple files with this code, what is wrong?
问:
因此,我正在尝试编写一个程序,该程序从列表中获取名称并将其添加到字母中。为字母的每个名称创建一个文本文件,但是代码似乎在这一点上停止工作。
letter = []
names = []
file = open("Input/Letters/starting_letter.txt", "r")
letter = file.readlines()
file.close()
name1 = open("Input/Names/invited_names.txt", "r")
names = name1.readlines()
name1.close()
for name in names:
create_letter = open(f"{name}.txt", "w")
for line in letter:
line = line.replace("[name],", f"{name},")
create_letter.write(line)
create_letter.close()
我收到错误消息
Traceback (most recent call last):
File "C:\Users\Default User\PycharmProjects\Mail Merge Project Start\main.py", line 10, in <module>
create_letter = open(f"{name}.txt", "w")
OSError: [Errno 22] Invalid argument: 'Aang\n.txt'
我创建文件的方式有问题吗?
答:
1赞
mozway
8/12/2022
#1
文件名中不能包含换行符。它在您的操作系统/文件系统中无效。
使用以下命令删除它们:
open(f"{name.strip()}.txt", "w")
艺术
open(f"{name.replace('\n', '')}.txt", "w")
评论