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