如何在 Python 中自动生成多个文件

how to automate multiple file generation in Python

我想自动生成多个文件。我有一个有效的 Python 脚本来生成一个文件,其中包含模仿我感兴趣的语言领域的句子(来自 here 的代码)。下面的代码将文本 my_domain.txt 作为输入,在其上训练一个马尔可夫语言模型,然后输出一个包含 10 个假句子的文件,这些假句子读起来与输入文本中的句子非常相似。

import pandas as pd
import markovify #Markov Chain Generator
import sys

with open(r'/my_domain.txt') as f:
    text = f.read()

text_model = markovify.Text(text) #creates a language model from the input text

sys.stdout = open('fake.txt', 'w') #redirects my print() statement below to a file

for i in range(10): #10 lines of fake sentences.
    print(text_model.make_sentence())

我现在要做的是用这个方法生成1000+个文件,每个文件的名字都略有不同,像这样:

fake1.txt

fake2.txt

fake3.txt

我猜我可能需要一种不同的打印到文件的方法。但是当我搜索技术时,我没有找到任何可以帮助我重复 运行 markovify 方法并为每个连续的输出文件提供唯一名称的东西。

使用创建文件名的循环, 使用 open(..) 语法来确保即使出现异常也能正常关闭。

for nr in range(100):
    with open("file{:04}.txt".format(nr), "w") as f:
        for i in range(10): #10 lines of fake sentences.
            f.write(text_model.make_sentence() + "\n")