遍历指定路径下的所有文件和文件夹
示例代码如下
1 2 3 4 5 6 7 8 9 10 |
mdfFolder= "D:\hanshan\MDF" for root, dirs, files in os.walk(mdfFolder): # root为根目录,即读取的文件夹目录(mdfFolder) print('root: ', root) # dirs为子文件夹,即当前读取的子文件夹 print('dirs: ', dirs) # files为读取到的文件列表 print('files: ', files) # 当前程序所在位置的路径 print('current dir: ', os.getcwd()) |
(跨系统也可用)
在不同的操作系统种路径的拼接符号是不一样的,如Windows系统是\,Linux系统是/
为了程序能在不同系统中都能同样执行,在python种使用os.path.join可以自动适配系统路径符号
引入os库
使用os.path.join()函数
传入参数,可以是两个参数也可以是三个参数
2.1 两个参数
两个参数时,第一个是路径前缀(可通过os.getcwd()获取当前位置系统路径),第二个参数是文件名
如os.path.join(os.getcwd(),'test.txt')
如果系统为windows,且当前系统路径为D:\Projects\demo,则拼接后的结果为D:\Projects\demo\test.txt
2.2 三个参数
三个参数时,第一个是路径前缀,第二个是相对路径(即中间的路径),第三个参数是文件名
如os.path.join(os.getcwd(),'TEST','test.txt')
如果系统为windows,且当前系统路径为D:\Projects\demo,则拼接后的结果为D:\Projects\demo\TEST\test.txt
具体的参考代码可参考以下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 用于获取文件的系统路径 import os
# 读取本地文件夹种的mdf文件列表 def readMdfFolder(mdfFolder): # 所有文件的全路径列表 fullPathList = [] for root, dirs, files in os.walk(mdfFolder): # root为根目录,即读取的文件夹目录(mdfFolder) print('root: ', root) # dirs为子文件夹,即当前读取的子文件夹 print('dirs: ', dirs) # files为读取到的文件列表 print('files: ', files) # 当前程序所在位置的路径 print('current dir: ', os.getcwd()) for file in files: # 文件全路径合成,包含系统路径和文件名,该拼接方式会根据操作系统路径符号进行拼接,注意,MDF为相对路径,不加该参数则会将当前程序所在系统路径和文件名进行拼接 fullPath = os.path.join(os.getcwd(), 'MDF', file) # 将文件路径放入列表 fullPathList.append(fullPath) print("===========") # 将完整路径的列表打印 print(fullPathList)
# 当前位置的MDF文件夹 folder = "./MDF" # 调用方法读取当前位置的MDF文件夹 readMdfFolder(folder) |
拼接后的结果如下