文件记录已处理

python列表求差

 
[x for x in data_list if x not in value_list_old]

读取已处理列表,作差得到未处理,遍历,追加文件

 
import os

a=["aaaa","bbbb","cccc","1","2","3","4"]
# a=["aaaa","bbbb"]

def batch_deal(data_list,save_file="readed_file.txt"):
    value_list_tmp = []
    value_list_old = []
    row_num = 0
    
    # 读取已处理列表 
    if os.path.exists(save_file):
        readed_file = open(save_file,"r",encoding="utf-8")
        value_list_old = readed_file.readlines()
        readed_file.close()
        
        line_num = 0
        for line in value_list_old:  #去除一行两端的空字符
            value_list_old[line_num] = line.strip()
            line_num = line_num+1
            
    if len(value_list_old) > 0 :
        value_list_tmp = [x for x in data_list if x not in value_list_old]
    else:
        value_list_tmp = data_list
    print(value_list_tmp)
    
    # 每处理一次,追加一次文件 ,也可以使用数据库标记一行的状态
    for val in value_list_tmp:
        with open(save_file,"a+",encoding="utf-8") as f:
            f.write(f"{val}\n")
        
batch_deal(a)   
    

 


 

  

 

    
参考