系列文章目录
基础函数——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()。