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
复制代码

 

posted on   星河赵  阅读(385)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2020-03-19 Python开发单元测试,必不可少
2020-03-19 关于HTTP协议,所有内容都在这里,一篇就够了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示