我正在逐行对文件进行一些编辑
我想做的是以下内容 我有一条线,我想使用分隔符来分割它,并在分隔符(即空格)后取第一个参数。
for line in file1:
line = line.strip();
new = line.split(" ")[1]+"\n";
file2.write(new);
file2.close();
file2 = open("temp.hex",'r');
for line in file2:
你可以看到我这样做的方式是通过分隔符分割线并写出来 到新文件。然后我想做更多的编辑,所以我必须关闭并重新打开文件,逐行迭代
我的问题是 1.我可以修改原来在file1上的行吗? 2.我必须在逐行扫描之前关闭file2吗?
感谢分配,乔纳森
答案 0 :(得分:1)
仅供参考,你不需要Python中的分号。它们不会损害您的代码,但它们也不是必需的。
您可以将多个open
调用与with
语句结合使用,该语句也会在程序退出后隐式关闭文件:
with open('a', 'r') as file1 and open('b', 'w') as file2:
for line in file1:
line = line.strip()
new = line.split(" ")[1]+"\n"
file2.write(new)
# do additional editing
答案 1 :(得分:0)
因为评论的声望限制我需要在这里写回答xPino 来自ILostMySpoon回答:
with open('a', 'r') as file1 and open('b', 'w') as file2:
for line in file1:
line = line.strip()
new = line.split(" ")[1]+"\n"
file2.write(new)
# do additional editing
如果我正确使用file2
,它将每次都重写文件2