如何在不截断额外文本的情况下替换文本中的字符串,.seek()问题?

时间:2017-11-08 21:05:07

标签: 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()
            f.write(content.replace('Ă', '’'))

但是在文件中会截断额外的文本。这是因为使用.seek()?我怎样才能解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:1)

由于您使用seek 0值,因此会删除额外的文字。以来 文件中的当前位置是size的默认truncate参数, 它会截断一切。

更多here.