python - 在Python中替换文本文件中特定行中的str
问题描述
def replace_line(file_name, line_num, find, replace):
lines = open(file_name, 'r').readlines()
print("This : ", find, " will be replaced for this: ", replace)
lines[line_num].replace(find, replace)
out = open(file_name, 'w')
out.writelines(lines)
out.close()
replace_line('text.txt', 3, 'num="200.00"\n', 'num="7.00"\n')
我正在尝试替换文本文件中特定行中的特定“str”,但是它不会改变任何内容。我使用 Python 3.9
解决方案
您需要将输出分配给变量。字符串在 python 中是不可变的,因此str.replace()
返回一个新字符串。
def replace_line(file_name, line_num, find, replace):
lines = open(file_name, 'r').readlines()
print("This : ", find, " will be replaced for this: ", replace)
lines = lines[line_num].replace(find, replace) ### < Fixed this line
out = open(file_name, 'w')
out.writelines(lines)
out.close()
replace_line('text.txt', 3, 'num="200.00"\n', 'num="7.00"\n')
推荐阅读
- django - 是否可以对基于类的视图进行重定向
- android - 如何在 Kotlin 中初始化一组按钮
- reactjs - React 应用程序在本地加载图像,但 AWS Amplify 不会加载这些图像
- python - 熊猫数据框中的列总和
- php - 如何动态反转引导列?
- icalendar - 通过 METHOD:PUBLISH 结合 SEQUENCE 发布频繁更改的 iCalendar
- java - 使用 spring-data-jpa 保存新条目
- c - 函数 'func_dbl_arr_calloc' 在 C99 中无效
- wpf - WPF VB DataGridCombox DataGridRow
- javascript - Reactjs 中偶数/奇数 div 的样式