python 获取目录下的txt文件的行数 按照行数排列文件
时间: 2023-06-08 16:05:05 浏览: 50
您好!关于您的问题,可以使用Python的os库来获取目录下的所有txt文件,然后用文件操作的方法遍历每个txt文件并统计行数,最后可以使用Python的sorted函数根据行数进行排序。
以下是样例代码:
```
import os
# 获取目录下所有txt文件
txt_files = [f for f in os.listdir('/path/to/directory') if f.endswith('.txt')]
# 遍历每个txt文件并统计行数
lines_dict = {}
for file in txt_files:
with open(file, 'r') as f:
lines = len(f.readlines())
lines_dict[file] = lines
# 根据行数排序文件
sorted_files = sorted(lines_dict.items(), key=lambda x: x[1], reverse=True)
# 输出排好序的文件
for file, lines in sorted_files:
print(file, lines)
```
希望能对您有所帮助!
相关问题
python获取目录下txt 文件的行数
你可以使用Python中的os和glob模块来获取目录下的txt文件,然后逐行读取每个文件并计算行数。下面是一个示例代码:
```python
import os
import glob
# 指定目标目录
directory = "path/to/directory"
# 获取目录下所有的txt文件
files = glob.glob(os.path.join(directory, "*.txt"))
# 循环每个文件并计算行数
for file in files:
with open(file, "r") as f:
lines = len(f.readlines()) # 统计行数
print(f"{file} has {lines} lines.")
```
这段代码会逐个打印出每个txt文件的行数。你可以针对不同的需求对代码进行修改。
python 获取目录下所有txt 按照行数排列
您好,以下是回答您的问题:
您可以使用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" 修改为指定目录路径即可。