python 获取目录下所有txt 按照行数排列
时间: 2023-06-06 22:07:42 浏览: 85
您好,以下是回答您的问题:
您可以使用Python的os模块和re模块来获取目录下的所有txt文件,并按照行数排列。
具体代码如下:
```python
import os
import re
# 获取指定目录下所有txt文件路径
def get_txt_files(path):
all_files = os.listdir(path)
txt_files = []
for file in all_files:
if os.path.splitext(file)[1] == '.txt':
txt_files.append(os.path.join(path, file))
return txt_files
# 统计每个txt文件的行数
def count_lines(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
return len(lines)
# 按照行数排列txt文件
def sort_files_by_lines(path):
txt_files = get_txt_files(path)
files_with_lines = []
for file in txt_files:
lines = count_lines(file)
files_with_lines.append((file, lines))
sorted_files = sorted(files_with_lines, key=lambda x: x[1], reverse=True)
for file in sorted_files:
print(file[0], file[1])
# 测试
sort_files_by_lines('your/path/to/txt/files')
```
在使用过程中,将 "your/path/to/txt/files" 修改为指定目录路径即可。
阅读全文