广泛搜索答案,并尝试了一些不成功的尝试,但似乎无法弄清楚如何执行以下操作:
我使用以下python代码将文本文件的每一行保存为单独的文件:
with open("filename.txt") as sourcefile:
for i, line in enumerate(sourcefile):
with open("filename{}.txt".format(str(i+1)), "w") as txtfile:
txtfile.write(line)
创建文件名如下:filename1.txt,filename2.txt,filename3.txt。我想要做的是在每行文件的单独文件名中插入每行文本的前30个字符的子字符串。
例如,假设原始文件中的第一行是句子"我想今晚吃一顿比萨饼。"我希望将单个行的文件名保存为" filename我想获得披萨fo.txt。"
非常感谢任何帮助。
答案 0 :(得分:0)
如果我理解正确,您希望使用每个line
的前30个字符命名每个文件。为此,您可以使用line[0:29]
,这意味着“在字符0和29之间剪切字符串line
([start:end])。
样品:
with open("filename.txt") as sourcefile:
for i, line in enumerate(sourcefile):
with open("filename {}.txt".format(line[0:29]), "w") as txtfile:
txtfile.write(line)