• Python常用函数


    最近跑实验,记录一些常用的 Python 函数,便于自己复习和学习,仅用来学习。

    1.Python 中的 os.path.join()

    参考该文章 深度了解
    Python 中,处理文件和目录路径是常见的任务。为了简化路径的拼接和操作,Python 提供了 os.path 模块,其中的 join 函数是一个非常重要且常用的函数。
    os.path.join() 函数用于拼接多个路径字符串,生成一个新的路径字符串。它会根据操作系统的规范自动添加适当的路径分隔符。

    import os
    
    data_path = "/home/ainianxin/savee_path"
    audio = "sur.wav"
    
    audio_path = os.path.join(data_path, audio)
    print(audio_path) # audio_path = /home/ainianxin/savee_path/sur.wav
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    不同操作系统使用不同的路径分隔符,例如 Windows 使用反斜杠 \ ,而 UnixMac 使用正斜杠 / os.path.join 函数能够根据当前操作系统自动选择适当的路径分隔符。
    使用 os.path.join 连接多个路径的例子,代码如下所示:

    import os
    
    data_path = "/home/ainianxin/savee_path"
    actor = "Actor_4"
    video = "sur.mp4"
    
    video_path = os.path.join(data_path, actor, audio)
    print(video_path) # video_path = "/home/ainianxin/savee_path/Actor_4/sur.mp4"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意:如果最后一个路径(eg. video)为空,则生成的路径以一个 / 分隔符结尾。

    2.Python 之 os.path.basename

    参考博文 os.path.basename
    os.path.basename() :返回 path 最后的文件名。若 path/\ 结尾,则返回空值。

    import os
    path = '/Users/Data/data.csv'
    print(path) # data.csv
    
    file_path = ["/home/xxx/aaa.txt","/home/xxx/bbb.txt"]
        for index, item in enumerate(file_path):
            print(os.path.basename(item)) # aaa.txt, bbb.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3.Python 之 split()

    split() 是一个字符串方法,用于将一个字符串按照指定的分隔符进行切片,并返回一个包含切片后的子字符串的列表。如果不指定分隔符,默认以空格、换行和制表符为分隔符。如果指定了分隔次数,就会根据指定的次数进行切片。

    video_path="/home/project_CFN_SR/ravdess_dataset/Actor_5/01-01-06-02-01-02-05.mp4"
    video_pth = str(video_path).split("\")
    print(video_pth)  # ['', 'home', 'project_CFN_SR', 'ravdess_dataset', 'Actor_5', '01-01-06-02-01-02-05.mp4']
    video_name = video_pth[-1].split(".")[0]
    print(video_name) # 01-01-06-02-01-02-05
    a = "I love China"
    result = a.split()
    print(result) # ["I", "love", "China"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4.Python 之 zip()

    zip() Python 中最好用的内置类型之一,它可以接收多个可迭代对象参数,再返回一个迭代器,可以把不同可迭代对象的元素组合起来。函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    基本用法:像拉链一样,将多个可迭代对象组合起来,然后可以用 for 循环依次取出,或者一次性将结果存入列表、元组或者字典之类的容器中。

    object1=["name", "age", "message"]
    object2=("Python猫", "618", "Hello")
    for i, j in zip(object1, object2):
    	print(i, j)
    # name Python猫
    # age 618
    # message Hello
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    它的参数并不要求是同一类的可迭代对象,因此可以有非常多的组合方式。
    使用 zip() ,还可以实现对二维列表实现行列转换。

    my_list = [[1, 2, 3],
    			[4, 5, 6],
    			[7, 8, 9]]
    for i in zip(*my_list):
    	print(i)
    # (1, 4, 7)
    # (2, 5, 8)
    # (3, 6, 9)
    print(list(zip(*my_list)))
    # [(1, 4, 7),
    # (2, 5, 8),
    # (3, 6, 9)]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    星号(* )操作符可以解包(unpacking),即将 my_list 的元素(也是列表)解成多个参数给 zip(),从而将 3 个列表重新组合。

    5.Python 之 enumerate()

    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    #下标默认从0开始
    print(enumerate(seasons)) # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    # 下标从1开始
    print(enumerate(seasons, start=1)) # [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    记录一次循环引用的问题
    Arm Neoverse 路线图再添新品,基于四项关键原则打造
    Vue项目实战——实现一个任务清单(学以致用,两小时带你巩固和强化Vue知识点)
    基于stm32的光照强度检测智能窗帘系统
    汽车技术市场动态分析
    【c++面试题】04-继承(详细版)
    Android 11 Launcher启动流程
    从入门到精通,收下这 22 个 Python 学习网站
    [linux][命令]linux文件操作命令大全
    elementui的使用以及容易出现的问题
  • 原文地址:https://blog.csdn.net/qq_42111085/article/details/133322448