python - 文件替换()方法
问题描述
我有一封电子邮件要发送给 6 个人。我需要为每个收件人创建一个单独的 txt 文件,并"[name]"
用每个收件人姓名替换字母。这是我的代码,我被卡住了。当我尝试替换"name"
时,我收到此错误:
AttributeError: '_io.TextIOWrapper' object has no attribute 'replace'
请问有什么帮助吗?
我的代码如下:
with open("Input/Letters/starting_letter.txt") as l:
the_letter = l.readlines()
with open("Input/Names/invited_names.txt") as names:
the_names = names.readlines()
for letter in range(6):
with open(f"Output/letter_{letter}.txt", mode="a") as file:
file.writelines(the_letter)
file.replace("name", f"{the_names[letter]}")
解决方案
您应该the_letter
在写入文件之前进行替换。
没有必要将字母分成几行。将其作为单个字符串读取,这样您就可以在没有循环的情况下替换整个内容。
你忘了[]
在你的.replace()
电话。
with open("Input/Letters/starting_letter.txt") as l:
the_letter = l.read()
with open("Input/Names/invited_names.txt") as names:
the_names = names.readlines()
for letter, name in enumerate(the_names)
with open(f"Output/letter_{letter}.txt", mode="a") as file:
file.write(the_letter.replace("[name]", name.strip)
推荐阅读
- c# - 使用 LINQ 将 CSV 标头映射到 SQL 列
- android - 判断 Android P 手机是否使用手势或导航栏
- javascript - 如果我使用动态导入功能,Webpack 将无法编译
- javascript - onChange 按钮标签不保持其样式
- ionic-framework - 当应用程序在离子的后台运行时,可观察到的不起作用?
- excel - 如何将最后一行中的特定范围的单元格弹出到 MsgBox(如果可能)或弹出窗口?
- php - 比较数组的第一个值后如何检索数组的第二个值?
- python - 如何在 Python 的 URL 中发出包含“à”字符的请求?
- tensorflow - 有没有一种可微的方法将张量转换为 int64?
- vue.js - 如何在 v-checkbox 组件中绑定内容类?