【发布时间】:2021-12-28 21:39:06
【问题描述】:
我有 20 个文件夹,每个文件夹包含 50 个 txt 文件,我需要阅读所有文件夹以比较每个文件夹的字数。我知道如何读取一个文件夹中的多个文件,但是速度很慢,有没有更有效的方法,而不是像下面这样一个一个地读取文件夹?
import re
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
import os
import glob
1. folder1
folder_path = '/home/runner/Final-Project/folder1'
for filename in glob.glob(os.path.join(folder_path, '*.txt')):
with open(filename, 'r') as f:
text = f.read()
print (filename)
print (len(text))
2. folder2
folder_path = '/home/runner/Final-Project/folder2'
for filename in glob.glob(os.path.join(folder_path, '*.txt')):
with open(filename, 'r') as f:
text = f.read()
print (filename)
print (len(text))
【问题讨论】:
-
所有文件夹是否都在同一个根文件夹下,例如
/home/runner/Final-Project? -
@MattDmo 是的,所有文件夹都在同一个根目录下!
-
@麦宝子,你到底想要什么?您想读取所有文件而不必写入每个目录的路径?
-
不,真的没有办法。
-
@VictorSaraivaRocha,在这一步中,我想分别将每个文件夹中txt文件的所有字数相加,看看哪个文件夹包含最长的文本。我需要在最后绘制它们,但是文件夹太多了
标签: python file-io operating-system