Python文件处理总结

来源:互联网 发布:sql2005数据库软件下载 编辑:程序博客网 时间:2024/05/16 23:36

Python文件处理

  • Python文件概念

    文件:Python中文件是对象;

    Linux文件:一切设备都可以看成文件,如磁盘文件、管道、网络Socket、外设等。

    文件属性:用户,读、写、执行权限;

  • Python文件打开

    文件打开方法:open(name[,mode[buf]])

    name:文件路径

    mode:打开方式

    buf:缓冲buffering大小

  • Python读取方式

    文件读取方法:

    read([size]):读取文件(读取size个字节,默认读取全部)

    readline([size]):读取一行

    readlines([size]):读取完文件,返回每一行所组成的列表

    iter:使用迭代器读取文件

  • Python写入方式

    文件写入方法:

    write(str):将字符串写入文件

    writelines(sequence_of_strings):写多行到文件

    文件写过程如下图:

    这里写图片描述

    1)主动调用close()或者flush方法,写缓存同步到磁盘;

    2)写入数据量大于或者等于写缓存,写缓存同步到磁盘

  • Python文件打开方式

    python文件打开方式如下:

    1)”r”:只读方式打开,文件必须存在;

    2)”w”:只写方式打开,文件不存在创建文件,文件存在则清空文件内容

    3)”a”:追加方式打开,文件不存在创建文件

    4)”r+”或”w+”:读写方式打开

    5)”a+”:追加和读写方式打开

    6)”rb”,”wb”,”ab”,”rb+”,”wb+”,”ab+”:二进制方式打开

  • Python文件关闭

    为什么需要关闭:

    1)将写缓存同步到磁盘;

    2)Linux系统中每个进程打开文件的个数是有限的;

    3)如果打开文件数到了系统限制,在打开文件就会失败

  • Python文件指针

    1)写入文件后,必须打开才能读取写入内容

    2)读取文件后,无法重新再次读取读过的内容

    文件读取写入文件指针移动过程如下图:

    Python文件指针操作:

    seek(offset[,whence]):移动文件指针;

    offset:偏移量,可以为负数;

    whence:偏移相对位置;

    Python文件指针定位方式:

    os.SEEK_SET:相对文件起始位置;值(0)

    os.SEEK_CUR:相对文件当前位置;值(1)

    os.SEEK_END:相对文件结尾位置;值(2)

    tell()函数返回文件当前的偏移

  • Python文件对象属性

    file.fileno():文件描述符;

    file.mode():文件打开权限;

    file.encoding():文件编码格式;

    file.closed()文件是否关闭;

  • Python标准文件

    文件标准输入:sys.stdin;

    文件标准输出:sys.stdout;

    文件标准错误:sys.stderr;

  • Python文件命令行参数

    sys模块提供sys.argv属性,通过该属性可以得到命令行参数;

    sys.argv:字符串组成的列表

  • Python文件编码格式

    创建一个utf-8或者其他编码格式的文件方法:

    使用codecs模块提供方法创建指定编码格式文件

    open(fname,mode,encoding,errors,buffering):使用指定编码格式打开文件

  • Linux文件系统

    文件包括:磁盘(ext2,ext4)文件,NFS文件系统,各种外设(sd卡,USB设备)等;

    Linux文件系统示意图如下:

    这里写图片描述

    Python对文件操作的流程分析图如下:

    这里写图片描述

  • OS模块对文件和目录操作

    os.open(filename,flag [,mode]):打开文件

    flag:打开文件方式

    os.O_CREAT:创建文件

    os.ORDONLY:只读方式打开

    os.O_WRONLY:只写方式打开

    os.O_RDWR:读写方式打开

    os.read(fd,buffersize):读取文件

    os.write(fd,string):写入文件

    os.lseek(fd,pos,how):文件指针操作

    os.close(fd):关闭文件

    os.access(path,mode):判断改文件权限:F_OK存在,权限:R_OK,W_OK,X_OK

    listdir(path):返回当前目录下所有文件组成的列表

    remove(path):删除文件

    rename(old,new):修改文件或者目录名

    mkdir(path[,mode]):创建目录

    makedirs(path[,mode]):创建多级目录

    removedirs(path):删除多级目录

    rmdir(path):删除目录(目录必须空目录)

    os.path模块方法:

    exists(path):当前路径是否存在

    isdir(s):是否是一个目录

    isfile(path):是否是一个文件

    getsize(filename):返回文件大小

    dirname(p):返回路径的目录

    basename(p):返回路径的文件名

原创粉丝点击