内容概要

这篇文章主要来探讨一下Python对文件的操作,主要包括如下三方面:

  1. Python 文件打开

  2. 指针操作

  3. os模块,以及os.path模块操作

Python 文件打开方式

在 Python 中打开文件,需要用到 open()方法。具体方法如下


# open(name[mode[buf]])
"""
name:文件路径,值类型[String]
mode:打开方式,值类型[String]
buf:缓冲 buffering 大小
"""

Python 文件读取方式


read([size]):读取文件(读取 size 个字节,默认读取全部)
readline([size]):读取一行
readlines([size]):读取文件,返回每一行所组成的列表

Python 文件写入方式


write([str]):将字符串写入文件
write(sequenc_of_strings):写入多行到文件

Python 文件写入过程与存在的问题

从上图中我们可以看出来,Python 写文件的过程是先调用 Python 解释器,然后调用系统访问写入到缓存,之后蔡写入到磁盘中,也就是说,写入文件不会实时更新磁盘文件,只有当下列情况会将文件写入到磁盘中。

  1. 主动调用close()或者flush()方法才会将文件写入到磁盘中。
  2. 当写入的数据量大于或者等于缓存时。

为什么要关闭文件?

这主要是有以下三种情况,或者说三个理由我们为什么要关闭文件。

  1. 将写缓存同步到磁盘。
  2. Linux 系统中每个进程打开文件的个数有限。
  3. 如果打开文件数达到系统限制,再打开文件就会失败。

写入和读取的位置问题

文件读取及写入文件时指针移动我们是无法实时感知的,因此我们有必要了解文件读取写入文件指针移动过程,这有助于我们了解当前文件读取到(写入到)什么位置了。

从上图我们可以发现,当我们打开文件之后,在读取三个字符之后,指针就往后移动了三个字符的空间,然后如果这个时候我们写入文件,那么会在当前指针的位置插入文字。

Python文件指针

了解了前面所说的内容,那么现在我们来了解一下 Python 文件指针定位方式:

os.SEEK_SET : 相对文件起始位置;

os.SEEK_CUR : 相对文件当前位置;

os.SEEK_END : 相对文件结尾位置;

 

Python文件属性

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

file.mode : 文件打开权限;

file.encoding : 文件编码方式;

file.closed : 文件是否关闭;

 

Python标准文件

文件标准输入:sys.stdin

文件标准输出:sys.stout

文件标准错误:sys.stderr

 

Python文件命令行参数

我们执行程序,如果能根据参数不同完成不同的功能,多美好! sys模块提供sys.argv属性,通过该属性可以得到命令行参数; sys.argv:字符串组成的列表。

 

Python文件编码格式

如何创建一个utf-8或者其他编码格式的文件? 使用codecs模块提供方法创建指定编码格式文件 open(fname, mode, encoding, errors, buffering)使用指定编码格式打开文件

 

os 文件操作

os 这个模块中包含了对文件的一系列操作方式,我们现在来了解其中的一部分。

 

使用os模块打开文件

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

flag:打开文件方式

os.O_CREAT:创建文件

os.O_RDONLY:自读方式打开

os.O_WRONLY:只写方式打开

os.O_RDWR:读写方式打开

 

使用os模块对文件进行操作

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

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

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

os.close(fd):关闭文件

 

 

以上就是我们这篇文章介绍的主要内容了。本文相关文件,可免费下载。

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。