【问题标题】:Splitting text file to separate files, and saving substrings in filenames; Python将文本文件拆分为单独的文件,并将子字符串保存在文件名中; Python
【发布时间】:2017-02-17 08:01:22
【问题描述】:

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

我正在使用以下 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。”

非常感谢任何帮助。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    如果我理解正确,您希望使用每个 line 的前 30 个字符来命名每个文件。为此,您可以使用line[0:29],这意味着“将字符串line 剪切在字符0 和29 之间([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)
    

    【讨论】:

    • 太完美了。非常感谢,马塞洛!
    • 随时@MJMJ。
    猜你喜欢
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2021-01-12
    • 2022-10-07
    • 2017-02-02
    相关资源
    最近更新 更多