Python 如何在不截断额外文本的情况下替换文本中的字符串.seek()问题?
我使用以下代码查找和替换文本中的字符Python 如何在不截断额外文本的情况下替换文本中的字符串.seek()问题?,python,text,Python,Text,我使用以下代码查找和替换文本中的字符 for file in glob.glob(os.path.join(path, '*.txt')): if file.endswith(".txt"): with open(file, 'r+', encoding = 'windows-1250') as f: content = f.read() f.seek(0) f.truncate()
for file in glob.glob(os.path.join(path, '*.txt')):
if file.endswith(".txt"):
with open(file, 'r+', encoding = 'windows-1250') as f:
content = f.read()
f.seek(0)
f.truncate()
f.write(content.replace('Ă', '’'))
但是,文件中的额外文本被截断。这是因为使用了.seek()?我怎样才能解决这个问题?多谢各位 由于您使用了
seek
值0
,额外的文本被截断。自从
文件中的当前位置是truncate
的默认size
参数,
它截断了一切
更多信息我可能不明白您试图做什么,但此代码似乎有效。什么额外的文本被截断了?我只是再次运行它,以便粘贴一个示例,但这次效果很好…非常奇怪。这是在课文末尾添加额外的句子,我想是从我替换的字符串的角度来看的。好的,这很有意义,谢谢。但我想不出怎么避开它?我真的想告诉它从0开始搜索,然后在文档的末尾结束吗?当一个人不知道文件是什么样子时,这有点困难,但从我所能看到的情况来看,你试图用另一个字符替换一个字符,文件范围的对吗?是的。我只是再次运行代码以获得一些示例来显示,它工作得很好…现在我更困惑了!有趣!再看一遍代码,我想我会期望在截断之前保存内容。也许“错误”在于你是如何查看结果的?一定是这样,尽管不确定这是怎么发生的。不管怎样,谢谢你的帮助,现在我明白了。寻找和。更好地截断。