Add*_*ery 3 python replace file
我正在尝试将PHP代码转换为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!
Run Code Online (Sandbox Code Playgroud)
基本上,文件使用~!作为隔板,并且我读每一行.如果用该行分隔的第一个标记~!开始于ex[4],例如Catbuntu,我想在该行的末尾追加mask[0](可能是)Bousie.然后我删除新的行字符并添加一个到最后.
而且存在问题.我想按原样编写文件,但只更改该行.那可能吗?
假设你在python> = 2.7,以下应该是一个款待
original = open(filename)
newfile = []
for line in original:
if line.split('~!')[0] == ex[4]:
line += "~!" + mask[0]
line = line.rstrip() + "\n"
newfile.append(line)
original.close()
amended.open(filename, "w")
amended.writeLines(newfile)
amended.close()
Run Code Online (Sandbox Code Playgroud)
如果出于任何原因你使用python 2.6或更低版本,请将第二行替换为最后一行:
amended.write("".join(newfile))
Run Code Online (Sandbox Code Playgroud)
编辑:修复以替换从问题复制的错误,分解文件名.