python - 如何使用 Python 文件函数编辑 .hpp 文件的内容?
问题描述
我有一个要编辑的 HPP 文件。我想替换其中的一些文本。我所做的是打开文件,将其内容存储在变量中,替换我想要的内容,清空文件,然后将变量中的字符串重新写入文件。
但是我注意到清空文件后,顶部出现了一些奇怪的“����”。当我编辑 .txt 文件以外的任何文件时,就会发生这种情况。我能做些什么来解决这个问题?
这是我的代码:
file=open("my_lib.hpp", "r+")
data=file.read()
data.replace("void","int")
file.truncate(0)
file.write(data)
file.close()
现在这里是文件:
�������������������������������������
�������������������������������������
�������������������������������������
�������������������������������������
//and then the rest of the code
//( the replacement worked fine)
解决方案
Truncate 不会改变光标位置,只有 seek 会。因此,即使文件长度为 0,您也可以在位置写入(无论原始文件长度是多少)。试试这个:
file=open("my_lib.hpp", "r+")
data=file.read()
data = data.replace("void","int") # replace returns a copy, doesn't operate in place
file.seek(0)
file.truncate()
file.write(data)
file.close()
推荐阅读
- javascript - 为什么下载的excel文件“损坏”
- python-3.x - Python从类中的另一个函数调用一个函数
- slurm - Slurm:作业的代码如何到达计算节点?
- json - JSON github服务问题
- visual-studio-code - VS Code - 找不到类型或命名空间名称“系统”错误
- vue.js - 如何使用 vue-cli create 修复错误“没有这样的文件或目录错误”
- java - 为什么单线程操作比无线程操作花费的时间长 3 倍?
- powershell - 如何使用 PowerShell 为带有文件路径参数的 exe 创建 SymbolicLink?
- vb.net - VB.Net WinForms 参考 Combobox SelectedValue using ActiveForms.Controls
- r - R - 按最后一个字符显示数据