1. os模块使用
- os.getcwd() : 当前程序的绝对路径
- os.listdir(路径):获取路径下的所有内容,返回一个list
print(os.getcwd)
''''E:\\test''''
print(os.list('C:\\'))
'''
['$360Section', '$baksd', '$Recycle.Bin', '$WinREAgent', 'AMTAG.BIN', 'Aomei', 'bootmgr', 'BOOTNXT', 'Config.Msi', 'Documents and Settings', 'DumpStack.log', 'DumpStack.log.tmp', 'hiberfil.sys', 'HP_LaserJet_Pro_MFP_M426-M427', 'Intel', 'KingsoftData', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Python27', 'Recovery', 'swapfile.sys', 'System Volume Information', 'TsdTemp', 'Users', 'Windows', 'XmpCache']
'''
2. os.path模块使用
有个习惯说明一下:路径最后补上/或者\,这样会能保证不会出错。
- os.path.abspath(路径) : 返回绝对路径
- os.path.dirname(路径) : 按照最后一个/、\切割的前部分
- os.path.basename(路径) :按照最后一个/、\切割的后部分
- os.path.join(路径1, 路径2):路径拼接。
- os.path.isfile(路径) : 判断是否是文件
- os.path.isdir(路径) : 判断是否是文件夹
print(os.path.abspath('./'))
# E:\\test
print(os.path.dirname('E:\\test'))
# E:\
print(os.path.basename('E:\\test'))
# test
print(os.path.join('E:\\', 'test'))
# E:\test
print(os.path.isdir('E:'))
# True
print(os.path.isfile('E:'))
# False
3. 进阶使用-递归查找嵌套文件夹下的特定文件
import os
def find_files(path):
files_list = []
sub_files = os.listdir(path)
for sub_file in sub_files:
sub_file_path = os.path.join(path, sub_file)
abs_sub_file_path = os.path.abspath(sub_file_path)
if os.path.isfile(abs_sub_file_path):
files_list.append(abs_sub_file_path)
else:
sub_files_list = find_files(abs_sub_file_path)
files_list += sub_files_list
return files_list