本文共 1659 字,大约阅读时间需要 5 分钟。
在Python中处理特定文件类型并进行数据提取是一个常见的任务。以下是一个优化后的解决方案,帮助你轻松实现目标。
os模块来处理文件路径和文件操作。os.listdir()获取文件列表。os.path.splitext()将文件名和扩展名分开。list.txt文件中。import os# 定义文件夹路径file_folder = "D:/collection"# 初始化结果列表result_list = []# 遍历文件夹中的每个文件for filename in os.listdir(file_folder): # 分离文件名和扩展名 file_name, ext = os.path.splitext(filename) # 检查文件名是否为8位数字 if file_name.isdigit() and len(file_name) == 8: # 分割为前后各4位 part1 = file_name[:4] part2 = file_name[4:] # 格式化输出并添加到结果列表 result_list.append(f"{part1} {part2}")# 将结果写入新的列表文件中with open("list.txt", "w") as f: for line in result_list: f.write(f"{line}\n") import os用于处理文件路径和文件操作。file_folder = "D:/collection",将其替换为你的实际路径。result_list = []用于存储处理后的数据。for filename in os.listdir(file_folder)遍历文件夹中的所有文件。file_name, ext = os.path.splitext(filename)获取文件名和扩展名。if file_name.isdigit() and len(file_name) == 8检查文件名是否为8位数字。part1 = file_name[:4]和part2 = file_name[4:]将8位数字分成前后各4位。result_list.append(f"{part1} {part2}")将结果格式化并添加到列表中。with open("list.txt", "w") as f:写入结果列表到list.txt文件中。处理后的列表文件list.txt将包含以下内容:
0009 32820034 56026920 93406980 69809240 64829360 9360...
os.listdir()会递归处理子目录。list.txt会被覆盖,如果需要追加,可以使用a模式打开文件:with open("list.txt", "w", newline="\n", mode='a') as f:。这样,你就可以轻松地从数据库文件中提取所需的8位数,并将它们格式化为两个4位数字,满足你的需求。
转载地址:http://okofk.baihongyu.com/