如何在 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")
- string format mini language
- with open(...) ( and the more abstract with-statement 一般 )
我想自动生成多个文件。我有一个有效的 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")
- string format mini language
- with open(...) ( and the more abstract with-statement 一般 )