学习使用一些相关的函数来实现读取文件下的目录和文件
1、使用os库函数
这种方式获取的文件被放在一个列表种,很方便的使用
for root, dirs, files in os.walk(file_dir): #其中file_dir为文件夹的路径
# return root#当前目录路径
# return dirs#当前路径下所有子目录
return files # 当前路径下所有非目录子文件
#引用示例
def get_file_name(self,file_dir): #获取指定文件夹下的文件
'''
获取指定目录下所有文件名称
:param file_dir:指定目录
:return:返回文件名列表
'''
for root, dirs, files in os.walk(file_dir):
# return root#当前目录路径
# return dirs#当前路径下所有子目录
return files # 当前路径下所有非目录子文件
def file_dir(self): #获取当前路径下的所有文件
# './'表示当前路径
path = QFileDialog.getExistingDirectory(self, '选取文件', './')
# 标签框显示文本路径
data = self.get_file_name(path)
for i in range(len(data)):
self.List_Data(i,data[i])
# self.lab_select_path.setText(path)
# # 自动调整标签框大小
# self.lab_select_path.adjustSize()
2、使用遍历的方式对文件夹下的文件进行遍历
for file in self.filelist:
sub_path = os.path.join(self.src_dir_path, file) # 获取文件的绝对路径
if (os.path.isdir(sub_path)): # 判断是否为文件夹,如果是文件夹则忽略
continue #如果发现是文件夹则忽略,也可以进行自己想要的一些操作
else:
if path in file:
print(path) #将文件一个一个的打印出来
3、在PYQT种常用的一种方式,在界面中进行选择文件和文件夹
path = QFileDialog.getExistingDirectory(self, '选取文件', './') #通过这种方式来进行可视化的选择文件或文件夹
#调用示例
self.pushButton.clicked.connect(self.file_dir)
def file_dir(self): #获取当前路径下的所有文件
# './'表示当前路径
path = QFileDialog.getExistingDirectory(self, '选取文件', './')
# 标签框显示文本路径
data = self.get_file_name(path)
for i in range(len(data)):
self.List_Data(i,data[i])