我有如下代码,如果file1中读取的行满足我的条件,我就要编辑/更新file1。否则,我要编辑文件2中满足另一个条件的行:
with gzip.open('/my/file1.txt.gz', 'r') as f:
for line in csv.reader(f, delimiter="\t"):
if (str(line[3]) == "C"):
# edit/update the line from file 1
else:
with gzip.open('/my/file2.txt.gz', 'r') as f2:
for line2 in csv.reader(f2, delimiter="\t"):
if line2[0] == line[0]:
# edit/update the line2 from file 2
有没有办法做到这一点?提前谢谢!你知道吗
一些问题:
您正在尝试更新只读文件;
您似乎想在读取文件时更新它。对于纯文本文件,只要替换字符串的长度与其替换的字符串的长度完全相同,就可以执行此操作。但是这是一个压缩文件-我认为你会破坏文件。
每次要修改第二个文件时,都要重新读取它。
如果可能的话,我建议把整部作品读入记忆,做出修改,然后全部写出来:
这一行中的一些:
相关问题 更多 >
编程相关推荐