Python 如何向文件中的每个单词添加数字组合?
我需要在文本文件中的每个单词后面添加两个数字的组合(即从00到99) 例如:Python 如何向文件中的每个单词添加数字组合?,python,Python,我需要在文本文件中的每个单词后面添加两个数字的组合(即从00到99) 例如: word 变成: word00 word01 word02 ...etc word99 我有一个文本文件,其中包含数百个单词,这些单词的结尾应该是这两个数字的组合。如何阅读文本文件中的每一行并创建这些新词? 这就是我到目前为止得到的 给你 import itertools digits = '0123456789' with open("output.txt", "w+") as new_file:
word
变成:word00
word01
word02
...etc
word99
我有一个文本文件,其中包含数百个单词,这些单词的结尾应该是这两个数字的组合。如何阅读文本文件中的每一行并创建这些新词?
这就是我到目前为止得到的
给你
import itertools
digits = '0123456789'
with open("output.txt", "w+") as new_file:
with open('createwords.txt') as file:
for line in file:
for c in itertools.product(digits, repeat=2):
number = ''.join(i for i in c)
new_file.write(''.join([line.rstrip(), number, '\n']))
还有一点解释:
用于itertools.product(数字,重复=2)
-c
将返回所需数字的元组,即(0,0)。因此,您需要使用下一行的join方法将其解析为一个适当的数字。最后,您将把新行输出到单独的txt文件中,作为三件事的组合:原始行、新编号和一个“\n”字符,它告诉txt文件返回新行
或者,您可以将
itertools.product
替换为100的迭代,例如r范围(100)
,并根据blhsing的答案格式化字符串[该答案现在已被删除,但基本上是%02d”%(r,)
]或r.zfill(2)
嘿,欢迎使用SO。您提供的代码是一个很好的起点,但您到底在哪里?目前,运行此代码将只读取一行,并输出添加到单个字上的0-9的每个产品。因此,您需要考虑以下两件事:1)如何循环浏览文本文件中的每个单词,以及2)您是否真的希望在单词中添加0-9的所有2个重复产品[您的第2段建议您每个单词可能只需要1个两位数数字?]感谢您的回复。我不太清楚如何阅读每个单词,并将数字1-99连续地附加到每个单词上。
import itertools
digits = '0123456789'
with open("output.txt", "w+") as new_file:
with open('createwords.txt') as file:
for line in file:
for c in itertools.product(digits, repeat=2):
number = ''.join(i for i in c)
new_file.write(''.join([line.rstrip(), number, '\n']))