Python 判断所有文件或文件夹 获取文件路径、文件名和扩展名
1.递归遍历文件
import os # 递归遍历文件夹目录文件 # 处理文件过后按照原文件夹格式保存 def copy_from_dir(src_dir): files = os.listdir(src_dir) for fn in files: if fn.startswith('.'): continue full_path = os.path.join(src_dir, fn) if os.path.isdir(full_path): copy_from_dir(full_path) continue _, ext = os.path.splitext(fn) if ext.lower() not in ['.jpg', '.png', '.jpeg']: continue print(full_path) if __name__ == "__main__": copy_from_dir("/tmp/img_test")
2.os.listdir
# 获取第一层目录 for file in os.listdir("/backup/bak2/aiphoto-1251830310/p1"): dir_list.append(file) sort_dir_list = sorted(dir_list, reverse=False) print("1111", sort_dir_list)
3.os.walks
import os def walkFile(file): for root, dirs, files in os.walk(file): # root 表示当前正在访问的文件夹路径 # dirs 表示该文件夹下的子目录名list # files 表示该文件夹下的文件list # 遍历文件 for f in files: print(os.path.join(root, f)) # 遍历所有的文件夹 for d in dirs: print(os.path.join(root, d)) walkFile("/tmp/images3")
4.Python获取文件路径、文件名和扩展名
这里用到了os.path.splitext()
和os.path.split()
。
import os url = "http://file.iqilu.com/custom/new/v2016/images/logo.png" (file, ext) = os.path.splitext(url) print(file) logo print(ext) .png (path, filename) = os.path.split(url) print(filename) logo.png print(path) http://file.iqilu.com/custom/new/v2016/images