Python文件操作

创建文件对象

文件对象名 = open('文件名','打开方式',缓冲区)
缓冲区指定了读写文件的缓冲模式,0表示不缓存,1表示缓存,大于1表示缓存区的大小。默认为缓存模式。对文件内容操作完成之后,一定要关闭文件,可使用文件对象名.close()关闭文件,也可用关键字 with 自动管理资源,在代码块执行完毕后自动还原进入该代码块时的现场,用法:with open('文件名','打开方式') as 文件对象名:

文件打开模式
模式说明
r读模式
w写模式
a追加模式
b二进制模式(可与其他模式组合)
+读、写模式(可与其它模式组合)

文件对象常用方法

方法说明
flush()把缓冲区的内容写入文件,但不关闭文件
close()把缓冲区的内容写入文件,同时关闭文件,并释放文件对象
read([size])从文件中读取size个字节(Python2.x)或字符(Python3.x)的内容作为结果返回,省略size表示一次性读取所有内容
readline()从文本文件读取一行内容作为结果返回
readlines()把文本文件中的每行文本作为一个字符串存入列表中,并返回该列表
seek(offset[,whence])把文件指针移动到新的位置,offset表示相对于whence的位置。whence为0表示从头开始计算;whence为1表示从当前位置开始计算;whence为2表示从文件尾开始计算。whence默认为0
tell()返回文件指针当前位置
truncate([size])删除从当前指针位置到文件末尾的内容。若指定了size,则只留下前size个字节,其余删除
write(s)把字符串s的内容写入文件
writelines(s)把字符串列表写入文本文件,不添加换行符

二进制文件操作

  1. pickle模块
'''写'''
import pickle
doc = open('samplefile.dat','wb')
Lis = ['a',1,'b',2,'c',3]
Dic = {'a':1,'b':2,'c':3}
try:
	pickle.dump(Lis,doc)
	pickle.dump(Dic,doc)
except:
	print('Opps!!!Write Error!')
finally:
	doc.close()
'''读'''
import pickle
doc = open('samplefile.dat','rb')
while 1:
	try:
		print(pickle.load(doc))
	except:
		break
doc.close()
  1. struct模块
'''写'''
import struct
doc = open('samplefile.dat','wb')
S = struct.pack('i?',678,True)		#i表示整型变量,?表示布尔型变量
C = 'String'
doc.write(S)
doc.write(C.encode())
doc.close()
'''读'''
import struct
doc = open('samplefile.dat','rb')
S = doc.read(5)				#整型4个字节,布尔型1个字节,共5个字节
print(struct.unpack('i?',S))
C = doc.read(6)				#字符串有6个字符
C = C.decode()
print(C)

文件级操作

os与os.path模块

os模块提供了操作系统功能和反访问文件系统的简便方法,以及大量文件级操作的方法。os.path提供了大量用于路径判断、切分、连接以及文件夹遍历的方法。

  1. os模块常用文件操作方法
方法说明
access(path,mode)按照mode指定的权限访问文件
open(path,flags,mode = 0o777,*,dir_fd = None)按照mode指定的权限打开文件,默认权限为可读、可写、可执行
chmod(path,mode,*,dir_fd = None,follow_symlinks = True)改变文件的访问权限
remove(path)删除指定的文件
rename(src,dst)重命名文件或目录
stat(path)返回文件的所有属性
fstat(path)返回打开的文件的所有属性
listdir(path)返回path目录下的文件和目录列表
startfile(filepath[,opeation])使用关联的应用程序打开指定文件
  1. os.path模块常用文件操作方法
方法说明
abspath(path)返回绝对路径
dirname(p)返回目录路径
exists(path)判断文件是否存在
getatime(filename)返回文件的最后访问时间
getctime(filename)返回文件的创建时间
getmtime(filename)返回文件的最后修改时间
getsize(filename)返回文件的大小
isabs(path)判断path是否为绝对路径
isdir(path)判断path是否为目录
isfile(path)判断path是否为文件
join(path,* paths)连接两个或多个path
split(path)对路径进行分割,以列表形式返回
splitext(path)从路径中分割文件的扩展名
splitdrive(path)从路径中分割路径的名称
  1. os模块常用目录操作方法与成员
方法说明
mkdir(path[,mode = 0777])创建目录
makedirs(path1/path2…,mode = 511)创建多级目录
rmdir(path)删除目录
removedirs(path1/path2…)删除多级目录
listdir(path)返回指定目录下的文件和目录信息
getcwd()返回当前工作目录
get_exec_path()返回可执行文件的搜索路径
chdir(path)把path设为当前工作目录
walk(top,topdown = True,onerror = None)遍历目录树,该方法返回一个元组,包括3个元素:所有路径名,所有目录列表,文件列表
sep当前操作系统所用的路径分隔符
extsep当前操作系统所用的文件扩展名分隔符

== ---------------------------------------------------------华丽的分割线---------------------------------------------------------==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值