美文网首页
2.1 Python文件操作

2.1 Python文件操作

作者: 大红中 | 来源:发表于2017-10-27 22:56 被阅读0次

    读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

    读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。

    2.1.1 文件操作基本格式

    你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。基本格式如下

    f = codecs.open('filename', 'mode')
    f.read()
    f.write()
    f.close()
    
    mode 描述
    r 以只读方式打开文件。文件的指针将会放在文件的开头。。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    2.1.2 文件操作的方法

    • flush()
      将缓冲区的内容,立刻写入到文件并清空缓冲区。一般情况是在关闭文件的时候将内容从缓冲区清空,在不使用 close 方法的时候,flush 可以将文件写入到文件。
    f = open('filename','wb')
    f.flush()
    f.close()
    
    • readlins()
      读取所有行,每行都处理成字符串,并返回一个列表。

      注: 执行之后,光标位置移动到文件末尾,再次读取的时候,会返回一个空列表

    f = open('filename','rb')
    text = f.readlines()
    print(text[0,1])  # 打印返回列表的前两个元素
    f.close()
    
    • readline()
      从文件中读取 1 行,并且光标移动到下一行。
    f = open('filename', 'rb')
    print('文件名为: ', f.name)
    
    text = f.readline()
    print('读取的字符串是: %s' %(text))
    print('读取的字符串是: %s' %(text))
    print('读取的字符串是: %s' %(text))
    
    fs.close()
    
    • seek()
      移动文件读取的指针到制定位置,即移动光标所在位置
    f.seek(offset[, where])
    

    注: 在文件中移动文件指针,从 where(0 代表文件起始位置,1 代表当前位置,2代表文件末尾)偏移 offset 个字节

    • tell()
      返回当前指针在文件中的位置, 一般配合 seek 一起使用
    f.tell(offset[, where])
    

    相关文章

      网友评论

          本文标题:2.1 Python文件操作

          本文链接:https://www.haomeiwen.com/subject/mpzdpxtx.html