经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结.Python中扫描目录有两种方法:操作系统。listdir和os.walk .
os.listdir()方法用于返回指定的目录下包含的文件或子目录的名字的列表。这个列表以字母顺序。其得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归。它也不包括”。“和”. .”即使它在目录中。
语法格式如下:
os.listdir(路径)
实例代码
def list_dir (file_dir): “‘ 通过listdir得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归 “‘ ,打印' \ n \ n<的在& lt;祝辞& lt;祝辞& lt;祝辞& lt;祝辞& lt;比;listdir & lt;祝辞& lt;祝辞& lt;祝辞& lt;祝辞& lt;祝辞& lt;比; 打印“当前dir: {0}”.format (file_dir) dir_list=os.listdir (file_dir) 在dir_list cur_file: #获取文件的绝对路径=os.path路径。加入(file_dir cur_file) 如果os.path.isfile(路径):#判断是否是文件还是目录需要用绝对路径 打印“{0}:文件!”.format (cur_file) 如果os.path.isdir(路径): 打印“{0}:dir !”.format (cur_file) list_dir(路径)#递归子目录 >之前
os.walk()方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。是一个简单易用的文件,目录遍历器,可以帮助我们高效的处理文件,目录方面的事情。
语法格式如下:
操作系统。走(顶部,由上而下的=True (> def work_dir (file_dir): ,打印' \ n \ n<的在& lt;祝辞& lt;祝辞& lt;祝辞& lt;比;,工作dir & lt;祝辞& lt的在& lt;祝辞& lt;祝辞& lt;比; 为根、dirs文件os.walk (file_dir): 打印' \ n========================================' 打印”根:{0}”.format(根) 打印”dirs: {0}”.format (dirs) 打印文件:{0}“.format(文件) & # 8203; 文件的文件: 试一试: 打印”- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -” file_name=os.path.splitext(文件)[0] file_suffix=os.path.splitext(文件)[1] file_path=os.path。加入(根、文件) file_abs_path=os.path.abspath(文件) file_parent=os.path.dirname (file_path) & # 8203; 打印”文件:{0}“.format(文件) 打印”file_name: {0}”.format (file_name) 打印”file_suffix: {0}”.format (file_suffix) 打印”file_path: {0}”.format (file_path) 打印”file_abs_path: {0}”.format (file_abs_path) 打印”file_parent: {0}”.format (file_parent) 除了例外,e: 打印“例外”,e >之前
os.path.splitext():分离文件名和扩展名
文件=" file_test.txt " file_name=os.path.splitext(文件)[0]#输出:file_test file_suffix=os.path.splitext(文件)[1]#输出:. txt >之前os.path.exists():判断文件或目录是否存在
os.path.isfile():判断是否是文件
os.path.isdir():判断是否是目录
os.path.dirname():获取当前文件所在的目录,即父目录
os.makedirs():创建多级目录
os.mkdir():创建单级目录
os.path.getsize():获取文件大小
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Python获取指定文件夹下的目录和文件的实现