Python 如何向文件中的每个单词添加数字组合?

Python 如何向文件中的每个单词添加数字组合?,python,Python,我需要在文本文件中的每个单词后面添加两个数字的组合(即从00到99) 例如: word 变成: word00 word01 word02 ...etc word99 我有一个文本文件,其中包含数百个单词,这些单词的结尾应该是这两个数字的组合。如何阅读文本文件中的每一行并创建这些新词? 这就是我到目前为止得到的 给你 import itertools digits = '0123456789' with open("output.txt", "w+") as new_file:

我需要在文本文件中的每个单词后面添加两个数字的组合(即从00到99)

例如:

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']))