将文本文件拆分为单独的文件,并将子字符串保存在文件名中;蟒蛇

时间:2017-02-16 23:50:25

标签: python python-3.x

广泛搜索答案,并尝试了一些不成功的尝试,但似乎无法弄清楚如何执行以下操作:

我使用以下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。"

非常感谢任何帮助。

1 个答案:

答案 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)