代码正常工作,除了检查重复项。如果输入相同(yaml文件1) 来了,那么输出(yaml文件2)应该不会更新。
我有2个Yaml文件用于版本检查。最后添加数字,直到前面的数字相同为止。 Yaml文件必须作为参数传递
python yaml_file1 yaml_file2
import re
import sys
yaml_file1 = sys.argv[1]
yaml_file2 = sys.argv[2]
rx = r'(?<=:)(\d*)$'
with open(yaml_file1,'r') as fh:
fh_n = fh.read()
with open(yaml_file2, 'a+') as fw:
fw.write(re.sub(rx , lambda x: str(int(x.group(0)) + 1) if len(x.group(1)) else "0", fh_n, 1, re.M))
yaml文件1(第一个参数)
pip5.1:
django5.0:
第一次执行后,yaml文件2(第二个参数)将最后添加0,因为没有数字
pip5.1:0
django5.0:
现在yaml文件1(第一个参数)
pip5.1:
django5.0:
执行yaml文件2之后(第二个参数),因为ipml5.1:0已经在yaml 2文件中,所以什么也没发生 yaml文件2
pip5.1:
django5.0:
现在yaml文件1(第一个参数)
pip5.1:10
django5.0:
执行yaml文件2(第二个参数)后,#yaml 2的最后一个数字增加了1,并将附加到先前的yaml 2文件中
pip5.1:11
django5.0:
pip5.1:0
django5.0: