python - Python - 从文本文件中读取行,更新行的子字符串并写入新的文本文件
问题描述
我有一个读取文本文件的功能,逐行搜索,如果该行包含关键字,比较它的值并更新值但是,当我尝试writelines
新的文本文件时,没有进行更改,这是我的代码:
with open(oldfile, 'r') as file :
filedata = file.readlines()
for line in filedata:
if "keyword" in line:
value = line.strip().split(' | ')[-1]
print(value)
if value != '0x00':
print('replacing value')
line = line.replace(value, '0x00')
print(line)
with open(newfile, 'w') as file:
file.writelines(filedata)
旧文本文件示例:
keyword | 0x01
random | 0x01
random2 | 0x01
新的文本文件仍然包含
keyword | 0x01
想知道我在这里做错了什么
解决方案
with open("text", 'r') as file :
filedata = file.readlines()
newlines = []
for line in filedata:
if "keyword" in line:
value = line.strip().split(' | ')[-1]
print(value)
if value != '0x00':
print('replacing value')
line = line.replace(value, '0x00')
print(line)
newlines.append(line)
with open("text2", 'w') as file:
file.writelines("\n".join(newlines))
python 将line
其视为字符串,而不是指向字符串的指针。
推荐阅读
- c# - 如何将现有的pdf“拉”到应用程序中?
- php - 从 PHP 的 shell_exec() 函数执行 Golang 二进制文件
- mysql - MySQL中缺少动态变量名称,在存储过程中使用会话变量是否存在冲突风险?
- amazon-s3 - 具有无服务器框架的 s3 存储桶的 AWS Api Gateway 代理
- javascript - 如何使用 Javascript onclick 自动化 Excel 从 Internet Explorer 下载 PDF
- html - getElementsByTagName 没有找到带有 ID 的“Input”或“td”标签
- validation - Twilio Webhook 验证
- c++ - 我是否经常使用 std::move() ?
- reactjs - 如何先运行我的调度方法并停止更改redux状态然后调用componentDidUpdate?
- arrays - 如何使用 node.js 从一个 json 文件和另一个 json 文件中获取一行