2017-02-16 127 views
1

搜索广泛的答案,并做了一些不成功的尝试,但似乎无法弄清楚如何做到以下几点:将文本文件拆分为单独的文件,并将子字符串保存为文件名;蟒蛇

我使用下面的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个字符的子字符串。

例如,假设原始文件中的第一行是句子“我想今晚晚餐吃披萨”。我想将该行的文件名保存为“文件名我想要一个披萨fo.txt”。

任何帮助,非常感谢。

回答

0

如果我理解正确,您想要为每个文件命名每个line的前30个字符。要做到这一点,你可以用line[0:29],这意味着“切断字符0到29之间的串line([开始:结束])

样品:。

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) 
+0

这非常非常感谢,马塞洛! –

+0

随时@MJMJ。 – 2017-02-17 00:02:40

相关问题