python学习笔记4-文件操作
-
编码格式
python解释器使用Unicode(内存)
.py文件在磁盘上使用UTF-8存储(外存)
-
文件读写原理
文件读写:IO操作。队列,先进先出的方式。
.py文件由解释器执行,执行时会调用os操作系统的资源,去操作磁盘上的文件(读写)。
程序的对象,映射磁盘的一个文件
-
语法规则:
file = open(filename, mode, encoding)# 文本格式默认GBK,python文件默认UTF-8
r,只读模式,文件纸张在文件开头
w,只写模式,文件不存在则创建,存在则覆盖,指针在开头
a,追加模式,文件不存在则创建,存在则在文件末尾追加,指针在末尾
b,二进制方式打开,要和其他一起用(rb,wb)
+,以读写模式打开,要和其他一起用(a+)
-
文件对象的常用方法
read([size]),从文件中读取size个字节或字符的内容并返回,可以省略,读所有内容
readline()
readlines(),文件中每一行作为独立的字符串对象,并放到列表中
write(str)
writelines(s_list),字符串列表写入文件,不添加换行符
seek(offset[,whence]),正负按方向移动文件指针。whence默认0:从文件头开始计算。1:从当前位置。2:从文件尾
tell(),返回指针当前位置
flush(),缓冲区内容写入文件,但不关闭文件
close(),缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源
-
-
with语句
上下文管理器,自动管理上下文资源,不论什么情况跳出with块都能确保文件正确关闭,达到释放资源目的。
离开with语句,自动释放资源。
上下文表达式结果为上下文管理器,自动调用_enter_()方法,返回值给as后的对象;with执行完后(离开运行时上下文),自动调用_exit_()。
-
目录操作:os模块
和操作系统有关,调用操作系统的文件和命令。os或os.path模块对目录或文件操作。
-
os操作目录的相关函数
getcwd(),返回当前工作目录
listdir(path),返回path目录下所有文件、目录
mkdir(path[,mode]),创建目录
makedirs(path1/path1-1/path1-2),创建多级目录
rmdir(path),删除目录
removedirs(path1/path1-1/path1-2),删除多级目录
chdir(path),将path设置为当前工作目录
walk(path),
-
os.path模块操作目录的相关函数
abspath(path),获取文件的绝对路径
exists(path),判断文件是否存在
join(path,name),把name拼接到path
split(path),分离出路径和文件名(元组)
splitext(path),分离文件名和文件后缀
basename(path),从目录中提取文件名
dirname(path),从路径中提取文件路径,不包含文件名
isdir(path),判断是否为路径
-