python 遍历文件夹的txt文件并读取行数大小进行比较,选出最大行数所在的txt文件并打开与其同名的.jpg格式的文件,若存在txt文件的行数相同且均为最大行数时,比较该txt文件中每一行的第六个数据并取其平均值,选出平均数最大的txt文件并打开与其同名的.jpg格式的文件
时间: 2024-01-21 09:15:52 浏览: 69
可以使用 Python 中的 os 和 glob 库来实现遍历文件夹中的 txt 文件,并使用 open 函数读取文件行数和每一行的数据。具体代码如下:
```python
import os
import glob
max_lines = 0
max_avg = 0
max_file = ''
# 遍历文件夹中的 txt 文件
for file_path in glob.glob('./folder/*.txt'):
with open(file_path, 'r') as f:
# 获取文件行数
lines = len(f.readlines())
if lines > max_lines:
max_lines = lines
max_file = file_path
elif lines == max_lines:
# 如果行数相等,比较每一行第六个数字的平均值
avg = 0
with open(file_path, 'r') as f2:
for line in f2:
nums = line.split()
if len(nums) >= 6:
avg += float(nums[5])
avg /= lines
if avg > max_avg:
max_avg = avg
max_file = file_path
# 打开同名的 jpg 文件
if max_file:
jpg_file = os.path.splitext(max_file)[0] + '.jpg'
os.system('open ' + jpg_file) # 在 Mac 终端下打开图片文件
```
其中 `./folder/*.txt` 表示遍历当前目录下的 folder 文件夹下的所有 txt 文件。使用 `os.path.splitext` 函数可以将文件名和扩展名分离。最后使用 `os.system('open ' + jpg_file)` 命令在 Mac 终端下打开图片文件,Windows 下可以使用其他命令来打开文件。
阅读全文