我有很好的C编程语言经验,并开始使用C Backround处理python。
我们的文件名为例如1.txt和2.txt。我正在获取1.txt的所有内容并从给定的行号写入2.txt,并且2.txt中的所有行将自动向下移动 - 为此我使用以下逻辑:
f = open("1.txt", "r")
contents = f.readlines()
f.close()
with open("2.txt") as f:
data = f.read().rstrip("\n")
line =19
contents.insert(line, data)
f = open("1.txt", "w")
contents = "".join(contents)
f.write(contents)
f.close()
这个逻辑工作得非常好,但我面临的问题是最后一行是在1.txt内容之后写的。 (但根据我的要求,它必须从下一行开始)即使我尝试了“\ n”但我无法实现。
为了更清晰,如下所示。
1.txt:
hello
hello
hello
hello
2.txt:
123
456
789
451
234
假设我执行上述1.txt和2.txt文件的代码(我想在789和451之间写入数据)。
执行脚本后,2.txt如下所示:
123
456
789
hello
hello
hello
hello 451
234
这里“Hello 451”让我的逻辑不能在下次工作。
所以我想像下面这样:
123
456
789
hello
hello
hello
hello
451
请kinldy分享解决方案或指导我实现这一逻辑。 234
答案 0 :(得分:0)
我在代码中做了一处更改,它对我有用
将行contents.insert(line, data)
换成:contents.insert(line, data+"\n")