发表于: 2018-01-28 22:40:59
1 1012
今天完成的事情:学习open打开文件进行读写
python文件打开方式
mode | 说明 | 注意 |
---|---|---|
‘r’ | 只读方式打开 | 文件必须存在 |
‘w’ | 只写方式打开 | 文件存在则清空内容,文件不存在则创建文件 |
‘a’ | 追加方式打开 | 文件存在写入数据附加到文件尾部,文件不存在则创建文件 |
‘r+’/'w+' | 可读写方式打开 | 文件必须存在 / ‘w+’与'w'相似 |
‘a+’ | 追加和读写方式打开 | |
+‘b’ | 以二进制方式打开 | 如‘rb’,'wb','rb+','wb+','ab’,ab+ |
Python文件属性
class | 说明 | 举例 |
---|---|---|
name | 输出文件名 | file.name |
fileno() | 文件描述符(I/O底层_0,1,2,3) | file.fileno() |
mode | 文件打开权限('r','w'..) | file.mode |
encoding | 文件编码格式('utf-8') | file.encoding |
closed | 文件是否关闭(True,False) | file.closed |
python打开文件后为什么要关闭 ?
将写缓存同步到磁盘;
linux系统中每个进程打开的文件个数是有限的;
如果打开文件数到了系统限制,在打开文件就会失败
使用OS模块对文件处理
class | 说明 | 举例 |
---|---|---|
os.read(fd,buffersize) | 文件读取 | os.read('test.txt',20) |
os.write(fd,string) | 文件写入 | os.write('test.txt',"I Love Study") |
os.lseek(fd,pos,how) | 文件指针操作 | os.lseek('test.txt',0,0)从开始位置读取 |
os.close(fd) | 文件关闭 | os.close('test.txt') |
os.open(fd,flag[,mode]) | 文件打开 | os.open('test.txt',os.O_OCREAT |os.O_RDWR) |
使用OS模块来打开文件
os.open(flag) | 打开文件方式 |
---|---|
os.O_CREAT | 创建文件 |
os.O_RDONLY | 只读方式打开 |
os.O_WRONLY | 只写方式打开 |
os.O_RDWR | 读写方式打开 |
OS模块方法
OS方法 | 说明 | 举例 |
---|---|---|
access(path,mode) | 判断文件权限:F_OK,R_OK,W_OK,X_OK | os.access('test.txt',os.F_OK) |
listdir(path) | 返回当前目录列表 | os.listdir('D:\Python') |
remove(path) | 文件删除 | os.remove('test.txt') |
rename(old,new) | 文件重命名 | os.rename('1.txt','2.txt') |
mkdir(path[,mode]) | 创建目录 | os.mkdir('test01') |
rmdir(path) | 删除目录 | os.rmdir('test01') |
makedirs(path[,mode]) | 创建多级目录 | os.mkdirs('D:/Python/test/01') |
removedirs(path) | 删除多级目录 | os.removedirs(D:/Python/test/01) |
明天计划完成的事情:
学会使用调用函数,定义函数,递归函数
遇到的问题:
路径问题‘\’在windows系统下会出现错误,转义下就正常‘/’
评论