python 遍历文件夹的txt文件并读取行数大小进行比较,选出最大行数所在的txt文件并打开相同目录下与其同名的.jpg格式的文件,若存在txt文件的行数相同且均为最大行数时,比较该txt文件中每一行的第六个数据并取其平均值,选出平均数最大的txt文件并打开相同目录下与其同名的.jpg格式的文件
时间: 2024-01-21 09:16:40 浏览: 70
可以使用os和glob模块来实现遍历文件夹并读取txt文件的行数。具体代码如下:
```
import os
import glob
max_lines = 0
max_avg = 0
max_txt = ''
txt_files = glob.glob('*.txt') # 获取当前目录下所有txt文件
for txt_file in txt_files:
with open(txt_file, 'r') as f:
lines = len(f.readlines()) # 统计txt文件的行数
if lines > max_lines:
max_lines = lines
max_txt = txt_file
elif lines == max_lines:
with open(max_txt, 'r') as f1:
avg1 = sum([float(line.split()[5]) for line in f1.readlines()]) / lines
with open(txt_file, 'r') as f2:
avg2 = sum([float(line.split()[5]) for line in f2.readlines()]) / lines
if avg2 > avg1:
max_txt = txt_file
if max_txt:
jpg_file = max_txt.replace('.txt', '.jpg')
if os.path.exists(jpg_file):
os.startfile(jpg_file) # 打开jpg文件
```
代码首先使用glob模块获取当前目录下所有txt文件,然后遍历每个txt文件,统计其行数。如果当前txt文件的行数大于最大行数,则更新最大行数和对应的txt文件名。如果当前txt文件的行数等于最大行数,则比较其每一行的第六个数据的平均值,取平均值最大的txt文件。最后根据选出的txt文件名生成相应的jpg文件名,并打开jpg文件。
阅读全文