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