Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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 如何在不截断额外文本的情况下替换文本中的字符串.seek()问题?_Python_Text - Fatal编程技术网

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开始搜索,然后在文档的末尾结束吗?当一个人不知道文件是什么样子时,这有点困难,但从我所能看到的情况来看,你试图用另一个字符替换一个字符,文件范围的对吗?是的。我只是再次运行代码以获得一些示例来显示,它工作得很好…现在我更困惑了!有趣!再看一遍代码,我想我会期望在截断之前保存内容。也许“错误”在于你是如何查看结果的?一定是这样,尽管不确定这是怎么发生的。不管怎样,谢谢你的帮助,现在我明白了。寻找和。更好地截断。