我有一个txt
文件,看起来像这样:
112
我只是想使用Python命令将1
添加到该行。什么好主意吗?
这感觉太像学习/家庭作业了,所以我们不要破坏它:
- 读取要编辑的行之前的所有行,并将它们写入临时输出文件
- 读取该行,附加1,并将其写入临时输出文件
- 读取要编辑的行之后的所有行,并将它们写入临时输出文件
- 关闭输入文件,取消链接/删除它,并重新命名临时文件,以便它取代原始文件。
您也可以就地编辑文件,但它要求您首先将之后的所有行读取到临时缓冲区中,然后修改该行,然后覆盖修改位置之后的所有内容。
文件没有"行"的概念。它们以字节为单位。如果你需要在文件的某个地方插入一个字节,你需要将该字节位置之后的所有内容向后移动。
您应该阅读文件,替换行并重写文件,如:
with open('file.txt', 'r') as file :
filedata = file.read()
filedata = filedata.replace('112', '1112')
with open('file.txt', 'w') as file:
file.write(filedata)
如果你想给所有行加1,你可以使用一些东西来修改所有行,比如:
with open('file.txt', 'r') as file :
filedata = file.read()
list_num = []
for num in filedata.split('n')[:-1]:
list_num.append(str(int(num)+1))
'n'.join(list_num)
with open('file.txt', 'w') as file:
file.write('n'.join(list_num) + 'n')