提问人:Vlad Tepes 提问时间:9/8/2023 更新时间:9/8/2023 访问量:28
更改文件 python [duplicate] 中的字符串
change strings in file python [duplicate]
问:
这个问题在这里已经有答案了:
为什么读取和写入同一文件时会出现问题? (4 个答案)
是否可以就地修改文件中的行? (5 个答案)
在 Python 中搜索和替换文件中的一行 (13 个答案)
从文件中读取后写回同一文件 (2 个答案)
3个月前关闭。
你能解释一下为什么它以这种方式工作吗? 我有一个文件,我需要在每个字符串末尾的同一个文件中添加一些信息,这取决于字符串中相同位置的值。我尝试过许多变体,但只有当我读取所有行,将它们放入变量中,然后写入文件时,它才有效。这是解决我案子的唯一方法吗?为什么我的第二个代码不能以正确的方式工作(它只在最后一行添加信息)? 或者,在不添加文件内容的情况下,这可能是更简单的解决方案,并且不使用额外的RAM来保留所有大量的文件字符串 对不起,消息太长了)
工作
with open(finalfile, 'r+') as file:
content = file.readlines()
with open(finalfile, 'r+') as file:
for line in content:
if (line.split(sep='|')[2]) == "" or line.split(sep='|')[3] == "":
newline = str(line.rstrip()) + "|||\n"
else:
newline = (str(line.rstrip()) + "|" + districtdict[(line.split(sep='|')[2])] + "|" + streetdict[(line.split(sep='|')[3])]).rstrip()+"|\n"
file.write(newline)
不起作用
with open(finalfile, 'r+') as file:
for line in file:
if (line.split(sep='|')[2]) == "" or line.split(sep='|')[3] == "":
newline = str(line.rstrip()) + "|||\n"
else:
newline = (str(line.rstrip()) + "|" + districtdict[(line.split(sep='|')[2])] + "|" + streetdict[(line.split(sep='|')[3])]).rstrip()+"|\n"
file.write(newline)
答: 暂无答案
评论
\n