帮我写一个python程序,遍历所有txt文件,计算所有txt文件最后一行的E(G)的值的平均值
时间: 2023-06-26 14:07:14 浏览: 81
python对txt文件内容排序并输出
好的,可以按照以下步骤实现:
1. 导入os模块,遍历所有的txt文件,将它们的路径存储到一个list中。
2. 对于每个txt文件,使用with语句打开文件,读取最后一行的值E(G)。
3. 将所有E(G)的值累加起来,最后计算平均值。
下面是完整代码实现:
```python
import os
files = [] # 存储所有txt文件的路径
# 遍历当前目录下的所有文件和文件夹
for filename in os.listdir('.'):
# 如果是txt文件则添加到files列表中
if filename.endswith('.txt'):
files.append(filename)
if not files:
print('没有找到txt文件')
else:
total_eg = 0 # 所有E(G)的值之和
count = 0 # txt文件数量
# 对于每个txt文件
for filename in files:
with open(filename, 'r') as f:
lines = f.readlines()
# 获取最后一行的E(G)值
eg = float(lines[-1].strip().split()[-1])
total_eg += eg
count += 1
if count == 0:
print('所有txt文件都没有E(G)的值')
else:
avg_eg = total_eg / count
print('所有txt文件最后一行的E(G)的值的平均值为:', avg_eg)
```
在上述代码中,我们使用了`os.listdir()`函数来遍历当前目录下的所有文件和文件夹。然后过滤出所有txt文件的路径,存储到一个list中。接下来,对于每个txt文件,我们打开文件,读取最后一行的E(G)值,累加到`total_eg`变量中。最后,计算所有E(G)的值的平均值并输出。
阅读全文