文件对象:
文件系统和文件
文件系统是0S用于明确磁盘或分区上的文件的方法和数据结构–即在磁盘上组织文件的方法
计算机文件(或称文件、电脑档案),是存储在某种长期存储设备或临时存储设备中的一段数据流,并且归属于计算机文件系统管理下
概括来讲
文件是计算机中由OS管理的具有名字的存储区域
在linux系统上,文件被看做是字节序列
Python内置函数open()用于打开文件和创建文件对象
open(name[,mode[,bufsize]])
open方法可以接收三个参数:文件名、模式和缓冲区参数
open函数返回的是一个文件对象
mode:指定文件的打开模式
bufsize:定义输出缓存
0表示无输出缓存
1表示使用缓冲
负数表示使用系统默认设置
整数表示使用近似指定大小的缓冲
文件打开模式
简单模式
r;只读
open('/var/log/message.log','r')
w: 写入
a: 附加
在模式后使用"+"表示同时支持输入、输出操作
如r+、w+和a+
在模式后附加"b"表示以二进制方式打开
如rb、wb+
var_name = open(ifle_name[mode,bufsize])
mode: r w a r+ w+ a+
b:表示以二进制模式打开文件 rb wb ab rb+ wb+ ab+
缓冲:
0:禁用 负数:使用系统默认缓冲 1:使用缓冲,只缓冲一行数据 2:从文件尾部
file.seek(offset[whence])
whence:起点
0:从文件头
1:从当前位置
2:从文件尾部
offset:偏移量
文件系统功能:os
目录:
chdir()/fchdir() 改变当前工作目录
chroot():设定当前进程的的根目录
listdir():列出指定目录下的所有文件名
mkdir():创建指定目录
makedirs:创建多级目录
getcwd:获取工作目录
rmdir():
removedirs():删除多级目录
文件:
mkfifo()
mknod()
remove()
unlink()
rename():重命名
stat():
symlink():
utime():更新文件时间戳
tmpfile():创建并打开一个新的临时文件
访问权限:
access():
chmod():修改权限
chown:改变所属主、所属组
umask():设置默认权限模式
文件描述符:
open():
read():
write():
设备文件:
mkdev():
major():
write():
os.path:跟文件路径相关
basename():路径基名
dirname():路径目录名
join():
split():返回dirname(),basename()元组
splitext():返回(filename,extension)元组
信息:
getatime()
getctime()
getmtime()
getsize():返回文件的大小
查询:
exists():判断指定文件是否存在
isabs():判断指定路径是否为绝对路径
isdir():是否为目录
isfile():是否为文件
islink():
ismount():是否为挂载点
samefile():两个路径是否指向了同一个文件
练习:判断文件是否存在,存在则打开,让用户通过键盘反复输入多行数据,追加保存至此文件中
对象持久存储:
pickle
marshal
DBM接口:
shelve模块