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

不同操作系统使用不同的路径分隔符,例如 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"

注意:如果最后一个路径(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

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"]

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

它的参数并不要求是同一类的可迭代对象,因此可以有非常多的组合方式。
使用 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)]

星号(* )操作符可以解包(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')]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值