以下应该可以工作,它读取输入文件,使用正则表达式查找所有数字,并使用num2words库将每个数字替换为文本:
import re
import num2words
with open('input.txt') as f_input:
text = f_input.read()
text = re.sub(r"(\d+)", lambda x: num2words.num2words(int(x.group(0))), text)
with open('output.txt', 'w') as f_output:
f_output.write(text)
Run Code Online (Sandbox Code Playgroud)
num2words
可以使用以下方法安装该库:
pip install num2words
Run Code Online (Sandbox Code Playgroud)
因此,如果您的输入文本文件包含:
import re
import num2words
with open('input.txt') as f_input:
text = f_input.read()
text = re.sub(r"(\d+)", lambda x: num2words.num2words(int(x.group(0))), text)
with open('output.txt', 'w') as f_output:
f_output.write(text)
Run Code Online (Sandbox Code Playgroud)
输出将是:
pip install num2words
Run Code Online (Sandbox Code Playgroud)