小编And*_*yov的帖子

Python写入后文件开头出现奇怪字符

我想通过 python 脚本自动替换很多无聊的 C# 代码。我读取文件的所有行,转换它们,截断整个文件,写入新字符串并关闭它。

f = open(file, 'r+')
text = f.readlines()
# some changes
f.truncate(0)
for line in text:
    f.write(line)
f.close()
Run Code Online (Sandbox Code Playgroud)

我所有的修改都写下来了。但文件开头出现了一些奇怪的字符。我不知道如何避免它们。即使我打开encoding='utf-8-sig'它也没有帮助。

我尝试截断除第一行之外的整个文件,如下所示:

import sys
f.truncate(sys.getsizeof(text[0]))
for index in range(1, len(text), 1):
    f.write(text[index])
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,不止第一行正在写入,而不仅仅是第一行。

编辑 我尝试过这个:

f.truncate(len(text[0]))
for index in range(1, len(text), 1):
    f.write(text[index])
Run Code Online (Sandbox Code Playgroud)

第一行写的是正确的,但下一行有同样的问题。所以我认为这些字符来自文件末尾,我尝试在它们后面写入。

python windows file fwrite

4
推荐指数
1
解决办法
2381
查看次数

标签 统计

file ×1

fwrite ×1

python ×1

windows ×1