import os
import fnmatch
from tempfile import TemporaryFile
#basepath = 'C:\\Uni_Regensburg\\ML_I\\Classification_Algorithm\\Data\\EMG\\'
#with os.scandir(basepath) as entries:
# for entry in entries:
# if entry.is_file():
# print(entry.name)
for dirpath, dirnames, files in os.walk('C:\\University\\ML_I\\Classification_Algorithm\\Data\\EMG'):
#print(f'found directories: {dirnames}')
for folder in dirnames:
#print(folder)
for file_name in files:
if fnmatch.fnmatch(file_name, '*.txt'):
if (folder == 'Aggressive'):
print('Aggressive: ' + file_name)
我想将我的数据分类为二进制分类。为此,我必须检测两个文件夹名称:Aggressive和Normal,然后仅过滤出文本文件。我尝试了这段代码,但是当我运行这段代码时,它什么也不返回。
有一些for循环放置有误。
def find_folder(path):
for dirpath, dirnames, files in os.walk(path):
#print(f'found directories: {dirnames}')
for folder in dirnames:
if 'Aggressive' in folder:
print('Aggressive: ' + path + "\\" + folder)
return path + "\\" + folder
然后您可以像以前一样获取文件:
def get_files(path_to_folder):
for dirpath, dirnames, files in os.walk(path_to_folder)
for file_name in files:
if fnmatch.fnmatch(file_name, '*.txt'):
print(file_name)
所以最后您可以这样称呼它
fol = find_folder('C:\\University\\ML_I\\Classification_Algorithm\\Data\\EMG')
get_files(fol)