python-os模块使用以及文件查找功能
2024-01-07 21:35:26
python-os模块使用以及文件查找功能
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
文章来源:https://blog.csdn.net/Akun_2217/article/details/135444143
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!