目录

需求

法一  法二  法三  法四 

结尾


需求:

 

桌面上照片的打开路径Python python图片路径所在目录_数据库

绝对路径,最终将所有绝对路径存储在列表中。

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

获取全网低质量图片数据集的方法(含代码)

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


讲解分割线

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

首先进行模块导入 


import os


文件夹路径如下 


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


法一:


def getfiles():
    path_list = []
    filenames = os.listdir(file)
    print(filenames)
    for filename in filenames:
        a = os.path.join(file, filename)
        print(a)
        path_list.append(a)
    print(path_list)
    return path_list

getfiles()


桌面上照片的打开路径Python python图片路径所在目录_python_02

 

桌面上照片的打开路径Python python图片路径所在目录_绝对路径_03

 

思路:

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

注:

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

桌面上照片的打开路径Python python图片路径所在目录_数据集_04

法二:

def getfiles1():
    filenames = os.listdir(file)
    for i in range(len(filenames)):
        filenames[i] = r"{}\{}".format(file, filenames[i])
        print(filenames[i])
    print(filenames)
    return filenames
    
getfiles1()

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

桌面上照片的打开路径Python python图片路径所在目录_python_05

法三:

def get_files():
    path_list = []
    for filepath, dirnames, filenames in os.walk(file):
        for filename in filenames:
            a = os.path.join(filepath, filename)
            print(a)
            path_list.append(a)
    print(path_list)
    return path_list

get_files()

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

法四:

def get_files1():
    for filepath, dirnames, filenames in os.walk(file):
        for i in range(len(filenames)):
            filenames[i] = r"{}\{}".format(file, filenames[i])
            print(filenames[i])
        print(filenames)
        return filenames

get_files1()

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


结尾

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

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