Learning Python(13)--文件读写

来源:互联网 发布:用友t3数据库安装 编辑:程序博客网 时间:2024/06/15 05:11

Python的open()BIF可以打开文件来读文件,也可以用来写文件.

文件打开模式

使用open()BIF打开磁盘文件时,可以指定使用什么访问模式.默认使用’r’模式来读取代表读文件.要打开一个文件完成写,需要使用模式’w’.
Geek Bits:使用’w’模式来打开文件完成写时,如果这个文件已经存在,则会清空它现有的内容,再进行写操作.若要追加到一个文件,需要使用访问模式’a’.要打开一个文件完成写和读(不清除),需要使用’w+’模式.另外,若想打开一个不存在的文件进行写,那么首先会创建这个文件,再打开文件进行写.

错误处理

在打开文件并进行处理的过程中,有可能会引发IOError.使用带错误处理的方式来打开文件可以确保文件无论是否发生错误都可以被正确的关闭.

try:    data = open('missing.txt', 'r')    print(data.readline(), end='')except IOError as err:    print('File error')finally:    if 'data' in locals():        data.close()

使用with处理文件

使用try/except/finally模式相当常用,所以Python提供一个语句来抽象出相关的一些细节.对文件使用with语句时,可以大大减少,需要编写的代码量,因为有了with语句就不再需要包含一个finally的组来处理文件的关闭.

try:    with open('its.txt', 'w') as data:        print("It's...", file=data)except IOError as err:    print('File Error:' + str(err))

读文件内容的方法

  • read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示
  • read(size)每次读取size个字节的内容
  • readline()每次读取一行的内容
  • readlines()读取文件所有内容并按行返回一个list

写文件的方法

  • write(str)将str写入文件
  • writelines(sequence)此方法写入文件的字符串序列.sequence通常为一个字符串列表,它将列表中的元素逐一写入文件
  • 写文件完成后必须调用close()才可以将暂时保存到内存中的内容写入文件.如果不想关闭文件的话,可以调用flush()函数.

Python3新特性

Python3中,print()是一个函数,其中file参数可以向指定文件中打印value.默认为sys.stdout为标准输出.

print(...)    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)    Prints the values to a stream, or to sys.stdout by default.    Optional keyword arguments:    file:  a file-like object (stream); defaults to the current sys.stdout.    sep:   string inserted between values, default a space.    end:   string appended after the last value, default a newline.    flush: whether to forcibly flush the stream.

它可以向文件中写入任何对象(文件中存储的是对象在内存中存储形式).

name_list = ['liyuan', 'fuck', 'test']n_file = open('test', 'w')print(name_list, file=n_file)n_file.close()
0 0
原创粉丝点击