Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python文件函数编辑.hpp文件的内容?_Python_File Io - Fatal编程技术网

如何使用python文件函数编辑.hpp文件的内容?

如何使用python文件函数编辑.hpp文件的内容?,python,file-io,Python,File Io,我有一个HPP文件要编辑。我想替换其中的一些文本。我所做的是打开文件,将其内容存储在变量中,替换我想要的内容,清空文件,然后将变量中的字符串重新写入文件。但我注意到在清空文件后,出现了一些奇怪的问题“����" 当我编辑除.txt文件以外的任何文件时,就会发生这种情况,所以我不知道该怎么办。 这是我的密码: file=open("my_lib.hpp", "r+") data=file.read() data.replace("void"

我有一个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返回一个副本,不在适当位置运行
file.seek(0)
file.truncate()文件
文件写入(数据)
file.close()文件

谢谢,它工作得很好