我试图将PHP代码转换为Python,并且我在替换行时遇到了问题。尽管我发现使用Python更容易,但我完全迷失了;我可以找到要替换的行,我可以在行尾添加一些内容,但是我无法再在该文件上再写一行。在Python上替换一行
file = open("cache.ucb", 'rb')
for line in file:
if line.split('~!')[0] == ex[4]:
line += "~!" + mask[0]
line = line.rstrip() + "\n"
# Write on the file here!
基本上,file使用~!
作为隔板,并且我读每一行。如果第一个令牌与该行的~!
分隔开始于ex[4]
(可能是Catbuntu
),我想在该行的末尾附加mask[0]
,该位置可能为Bousie
。然后我删除新的行字符并添加一个到最后。
还有问题。我想按原样写入文件,但只更改该行。那可能吗?
请仔细阅读[二进制数据的读写](http://mail.python.org/pipermail/tutor/2000-July/001883.html)。 – Droogans
正如Droogans提到的,除非你有一些明确的理由以二进制形式读取数据,否则最好省略open()调用的标志。 – Drakekin