python遍历同一文件夹下的txt文件,同时读取前六个txt文件内容,若这六个txt文件中的每一个txt的任意一行内容的第一个数字是3,则计数加一,继续读取下六个txt文件重复操作若这六个txt文件中的每一个txt的任意一行内容的第一个数字是3,则计数加一
时间: 2024-02-25 20:53:22 浏览: 93
好的,您可以使用以下代码实现您的需求:
```python
import os
file_dir = "./" # 文件夹路径
file_list = os.listdir(file_dir) # 获取文件夹中所有文件的文件名列表
file_list = [f for f in file_list if f.endswith('.txt')] # 筛选出所有以 .txt 结尾的文件名
count = 0 # 计数器
for i in range(0, len(file_list), 6): # 每次读取 6 个文件
six_files = file_list[i:i+6]
first_num_is_3 = True # 标记是否所有文件的第一个数字都是 3
for file_name in six_files:
with open(os.path.join(file_dir, file_name), 'r') as f:
first_line = f.readline().strip()
if not first_line.startswith('3'):
first_num_is_3 = False
break
if first_num_is_3:
count += 1
print("满足要求的文件组数为:", count)
```
代码解释:
1. 使用 `os.listdir()` 方法获取文件夹中所有文件的文件名列表;
2. 使用列表解析式筛选出所有以 `.txt` 结尾的文件名;
3. 使用 `range()` 函数指定每次读取 6 个文件;
4. 在每次读取的 6 个文件中,使用 `with open()` 语句打开文件,并读取第一行内容,判断第一个数字是否为 3;
5. 如果有任意一个文件的第一个数字不是 3,则标记为 False,并跳出循环;
6. 如果所有文件的第一个数字都是 3,则计数器加一;
7. 最后输出满足要求的文件组数。
阅读全文