From e2d0dfb24d06511fdf6f898fd462119090b74bb5 Mon Sep 17 00:00:00 2001 From: frxz751113 <156018267+frxz751113@users.noreply.github.com> Date: Wed, 21 Aug 2024 10:24:37 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=BB=BC=E5=90=88=E6=9B=B4=E6=96=B0.p?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- py/综合更新.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/py/综合更新.py b/py/综合更新.py index 606799d..2aef7c5 100644 --- a/py/综合更新.py +++ b/py/综合更新.py @@ -469,23 +469,24 @@ for ip_key, result in detected_ips.items(): #################文本排序 -# 打开原始文件读取内容,并写入新文件 +###############################################################################文本排序 +# 打开原始文件读取内容,并写入新文件 with open('2.txt', 'r', encoding='utf-8') as file: lines = file.readlines() -# 定义一个函数,用于提取每行的第一个数字 +# 定义一个函数,用于提取每行的第一个数字 def extract_first_number(line): match = re.search(r'\d+', line) return int(match.group()) if match else float('inf') # 对列表中的行进行排序 -# 按照第一个数字的大小排列,如果不存在数字则按中文拼音排序 +# 按照第一个数字的大小排列,如果不存在数字则按中文拼音排序 sorted_lines = sorted(lines, key=lambda x: (not 'CCTV' in x, extract_first_number(x) if 'CCTV' in x else lazy_pinyin(x.strip()))) -# 将排序后的行写入新的utf-8编码的文本文件,文件名基于原文件名 +# 将排序后的行写入新的utf-8编码的文本文件,文件名基于原文件名 output_file_path = "sorted_" + os.path.basename(file_path) # 写入新文件 with open('2.txt', "w", encoding="utf-8") as file: for line in sorted_lines: file.write(line) -print(f"文件已排序并保存“) +print(f"文件已排序并保存为新文件") ########################################################################################################################################################################################