我有一个文本重复相同的行模式。像这样:
"User= Name1;
Time= HH:MM;
Note= example.
User= Name2;
Time= HH:MM;
Note= example2.
......"
此模式重复500次。
如何为每个"用户"创建500个不同的文本文件?
看起来每个片段都有7行长,所以您可以将数据读取到列表中,使用zip和iter将其分解为列表的列表,每个列表有7个元素长。然后你可以把每一个都写到一个文件中。
如果您对zip(iter)的工作原理感到好奇,请查看这里的详细信息
with open('users.txt') as f:
data = f.readlines()
for c, file in enumerate(zip(*[iter(data)]*7)):
with open(f'file_{c}.txt', 'w') as f:
f.writelines(file)
或者如果你想要用户的文件名
with open('users.txt') as f:
data = f.readlines()
for file in zip(*[iter(data)]*7):
name = file[0].split('=')[-1].split(';')[0].strip()
print(name)
with open(f'file_{name}.txt', 'w') as f:
f.writelines(file)