python - 在 Python 中替换文本文件中的字符串
问题描述
我想读入一个文本文件,找到一个特定的行,拆分该行以获得我想要替换的值,然后用我正在使用的脚本中的新值替换该值。该文件如下所示:
num0 30
num1 50
num2 70
这是到目前为止的代码:
newval= 20
with open(file, 'r+') as f:
for line in open(file):
if line.startswith('num1'):
val = line.strip().split()[1]
line = line.replace(str(val),str(new_val))
f.write(line + "\n")
f.close()
如何编辑上面的代码,以便更改以 num1 开头的行中的值,而不仅仅是附加到数据文件的顶部或底部?我哪里错了?谢谢。
解决方案
请检查:
import sys, fileinput
File = r"D:\Sunil_Work\File.txt"
Replace_What = 'num1'
New_Value = '20'
for Line in fileinput.input(File, inplace=True): #:- Entire Line Replace
if Replace_What in Line:
Line = Line.replace(Line, Replace_What + ' ' + New_Value + '\n')
sys.stdout.write(Line)
推荐阅读
- react-native - 更改 TextInput onFocus 和 onBlur.React-Native 时的样式
- sql - 获取每个单词oracle的第一个字符?
- linux - IPPROTO_TCP 或 SOL_SOCKET
- algorithm - 在数组中查找数字条以匹配目标数组
- javascript - 如何将位置值设置为初始负载的每个分辨率都相同?
- jquery - 附加来自 Ajax 的响应(JSON)以构建表行 JQuery
- excel - 如何在没有 Visual Basic 的 Excel 中创建动态下拉列表
- java - 通过意图发送字符串时出现空指针错误
- java - 如何在给定元素后反序列化 XML 并获取特定键的值
- javascript - Vuejs 2.0+ 如何在 vue 组件的模板中使用外部 webcomponents