• python获取文件夹下所有图片目录


     🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 

    🥰 博客首页:knighthood2001

    😗 欢迎点赞👍评论🗨️

    ❤️ 热爱python,期待与大家一同进步成长!!❤️

    目录

    需求

    法一  法二  法三  法四 

    结尾


    需求:

            熊二表情包为桌面一文件夹,我们需要获取其目录下所有图片的绝对路径,最终将所有绝对路径存储在列表中。

    (熊二表情包可爱吧,获取方式如下)

    获取全网低质量图片数据集的方法(含代码)https://blog.csdn.net/knighthood2001/article/details/127018897?spm=1001.2014.3001.5502

    copy里面的代码,然后输入相应的数量(笔者输入了3),回车,输入熊二表情包


    讲解分割线

            因为涉及到文件路径操作,笔者首先想到了os模块,并给出了四种实现方式(大同小异)。

    首先进行模块导入 

    import os

    文件夹路径如下 

    1. # TODO 图片所在文件夹的绝对路径
    2. file = r'C:\Users\knighthood\OneDrive\桌面\熊二表情包'

    法一:

    1. def getfiles(input_path):
    2. path_list = []
    3. filenames = os.listdir(input_path)
    4. print(filenames)
    5. for filename in filenames:
    6. a = os.path.join(input_path, filename)
    7. print(a)
    8. path_list.append(a)
    9. print(path_list)
    10. return path_list

    ​ 

    ​ 

    思路:

            os.listdir(input_path)返回一个包含目录中文件名称的列表。如上述的熊二表情包,接下来遍历列表,通过os.path.join()拼接成绝对路径,最终存入列表中。

    注:

            "\"存入列表中就变成了"\\",笔者猜测是防止后续可能出现转义。(如下错误的情况)

    法二:

    1. def getfiles1(input_path):
    2. filenames = os.listdir(input_path)
    3. for i in range(len(filenames)):
    4. filenames[i] = r"{}\{}".format(input_path, filenames[i])
    5. print(filenames[i])
    6. print(filenames)
    7. return filenames
    8. getfiles1(input_path)

     这里主要是将filenames列表中的只包含文件名及后缀的内容替换成了绝对路径。

    法三:

    1. def get_files(input_path):
    2. path_list = []
    3. for filepath, dirnames, filenames in os.walk(input_path):
    4. for filename in filenames:
    5. a = os.path.join(filepath, filename)
    6. print(a)
    7. path_list.append(a)
    8. print(path_list)
    9. return path_list
    10. get_files(input_path)

    这里主要是使用了os.walk()函数,对这一块,笔者不是很熟。

    法四:

    1. def get_files1(input_path):
    2. for filepath, dirnames, filenames in os.walk(input_path):
    3. for i in range(len(filenames)):
    4. filenames[i] = r"{}\{}".format(input_path, filenames[i])
    5. print(filenames[i])
    6. print(filenames)
    7. return filenames
    8. get_files1(input_path)

    这里主要采用os.walk()并采用法二的操作实现的。


    结尾

            以上四种,笔者都尝试过且成功的(笔者一般使用法二),对于一些人发的那些只用一个函数就返回的,笔者试过其中几个,不过不是很正确,其返回的是代码.py文件的绝对路径,和图片路径就没啥太大的关系了。

            在python中,笔者认为两块内容很重要,一块是os模块(有些内容挺复杂的),另一部分是正则(基础内容多看看就会了,但是真的去写相关的内容,发现还是有点吃力,比如自己写一个提取网址的

  • 相关阅读:
    第二十五章《图书管理系统》第1节:图书管理系统简介
    Life and Its Markovian Symphony
    sso单点登录的实现。
    【Java】网络层协议IP协议
    测试概念第三篇—注册登陆测试用例
    AI与元宇宙擦出火花:人类失去的只有枷锁,获得的是全方面的解放
    解决onebot提示当前QQ版本过低,请升级到最新版在登录!
    git常用命令
    顺应趋势,用大数据精准营销抓住大数据时代的机遇
    汉威科技亮相2023上海传感器展,智能传感新品引关注
  • 原文地址:https://blog.csdn.net/knighthood2001/article/details/127165829