在一个文件夹中 有很多txt文件 文件名示例
E:\text\2023-01-01\cs\v4\x.x.x.x_20230304065016#.txt
E:\text\2023-01-01\cs\v4\x.x.x.x_20230304065004#.txt
按match = re.search(r"_(\d{14})#", file.name) 匹配得到采集时间,计算采集时间最大和最小的值
import os
import re
# 定义文件夹路径
folder_path = r"E:\text\2023-01-01\cs"
# 定义正则表达式模式,匹配采集时间
pattern = re.compile(r"_(\d{14})#")
# 定义列表,用于存储所有的采集时间
timestamps = []
# 遍历文件夹中的所有txt文件,并提取采集时间信息
for filename in os.listdir(folder_path):
if filename.endswith(".txt"):
match = pattern.search(filename)
if match:
timestamp = match.group(1)
timestamps.append(timestamp)
# 输出最大值和最小值
if timestamps:
print("最小值:", min(timestamps))
print("最大值:", max(timestamps))
else:
print("文件夹中没有符合条件的文件")
如果folder_path
存在多级目录,可以使用Python的os.walk
函数来遍历文件夹中的所有文件。os.walk
函数可以递归地遍历文件夹中的所有子文件夹和文件,返回一个三元组(dirpath, dirnames, filenames)
,其中dirpath
是当前文件夹的路径,dirnames
是当前文件夹中所有子文件夹的名称列表,filenames
是当前文件夹中所有文件的名称列表。
以下是一个示例代码,使用os.walk
函数来遍历多级目录中的所有txt文件,并提取采集时间信息。
import os
import re
# 定义文件夹路径
folder_path = r"E:\text\2023-01-01"
# 定义正则表达式模式,匹配采集时间
pattern = re.compile(r"_(\d{14})#")
# 定义列表,用于存储所有的采集时间
timestamps = []
# 遍历文件夹中的所有txt文件,并提取采集时间信息
for dirpath, dirnames, filenames in os.walk(folder_path):
for filename in filenames:
if filename.endswith(".txt"):
match = pattern.search(filename)
if match:
timestamp = match.group(1)
timestamps.append(timestamp)
# 输出最大值和最小值
if timestamps:
print("最小值:", min(timestamps))
print("最大值:", max(timestamps))
else:
print("文件夹中没有符合条件的文件")