基础函数——os.path.join()、os.path.splitext()、os.path.split()、os.listdir()、with open() as f:作用及使用

文章详细介绍了Python中os.path模块的几个关键函数,如join用于路径拼接,splitext分离文件名和扩展名,split获取路径和文件名,listdir列出目录内容,以及withopen语句进行文件的读写操作。同时提到了不同文件模式如r,w,a等的用途。
摘要由CSDN通过智能技术生成

系列文章目录

基础函数——enumerate()、hasattr()、isinstance()
基础函数——os.path.join()、os.path.splitext()、os.path.split()、os.listdir()、with open() as f:作用及使用



1、os.path.join()函数

作用:拼接文件路径,可以传入多个路径

如果各组件名首字母不包含’/’,则函数会自动加上
如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃。也就是以‘’/’’开始的参数,从最后一个以”/”开头的参数开始拼接,之前的参数全部丢弃。
如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

import os
print(os.path.join('path','a','b'))

path\a\b

import os
P1 = 'h'
P2 = 'd'
P3 = 'c'
P4 = P1 + P2 + P3
P5 = os.path.join(P1,P2,P3)
print ('P4 = ',P4)
print ('P5 = ',P5)

P4 = hdc
Path20 = h\d\c

2、os.path.splitext()函数

作用:将文件名和扩展名分开

import os
#os.path.splitext()将文件名和扩展名分开
fname,fename=os.path.splitext('/home/ubuntu/python_coding/split_func/split_function.py')

3、os.path.split()函数

作用:返回文件的路径和文件名

import os
dirname,filename=os.path.split('/home/ubuntu/python_coding/split_func/split_function.py')

4、os.listdir()函数

获取指定文件夹下的所有文件:

import os
path_name = 'D:\data\'    # 输入要获取文件的根目录
for filename in os.lisdir(path_name):
	print(filename)		  # 输出获取的文件名

获取指定目录下的图片:

import os
path_name = 'D:\data\'    # 输入要获取图片的根目录
for filename in os.lisdir(path_name):
	if os.path.splitext(filename)[1] == '.jpg':  # 目录下包含的.jpg文件
		print(filename)		  # 输出获取的图片名

5、with open() as f:读写文件操作

with open('data.txt', 'r') as f:
   content = f.read(f)  #文件的读操作
with open('data.txt', 'w') as f:
   f.write('hello world')  #文件的写操作

相关参数:

r: # 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
rb: # 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: # 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+: # 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w: # 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb: # 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+: # 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+: # 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a: # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: # 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: # 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+: # 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

文件属性:

file.read([size]) #将文件数据作为字符串返回,可选参数size控制读取的字节数
file.readlines([size]) #返回文件中行内容的列表,size参数可选
file.write(str) #将字符串写入文件
file.writelines(strings) #将字符串序列写入文件
file.close() #关闭文件
file.closed #表示文件已经被关闭,否则为False
file.mode #Access文件打开时使用的访问模式
file.encoding #文件所使用的编码
file.name #文件名
file.newlines #未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
file.softspace #为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

keys()、values()和 items()方法

有 3 个字典方法,它们将返回类似列表的值,分别对应于字典的键、值和键-值对: keys()、values()和 items()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chaoy6565

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值