【10.29】Python语法练习7/17

任务:掌握文件与文件系统

open()将会返回一个file对象,基本语法格式如下:
open(filename, mode)
filename:包含里你要访问的文件名称的字符串值;
mode:决定了打开文件的模式:只读,写入,追加等,这个参数是非强制的,默认文件访问模式为只读(r)。

Python中,open()方法用于打开一个文件,并返回文件对象,在对文件处理过程中都要用到这个函数。如果文件无法被打开,会抛出OSError。
注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。
open()函数常用形式是接收两个参数:文件名(file)和模式(mode)。

完整的语法格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file: 必需,文件路径
mode:可选,文件打开模式
buffering:设置缓冲
encoding:一般使用utf-8
errors:报错级别
newline:区分换行符
closefd:传入的file参数类型

mode参数有:
t 文本模式(默认)
x 写模式,新建一个文件,如果文件已存在则会报错
b 二进制模式

  • 打开一个文件进行更新(可读可写)
    r 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式
    rb 以二进制格式打开一个文件用于只读,一般用于非文本文件,如图片等
    w 打开一个文件只用于写入,如果该文件已存在,则打开文件,并从开头开始编辑,原有内容会被删除。
    a 打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾,也就是说新内容会被写入已有内容之后。


    mode几种模式的区别

文件对象的方法
f.read()
调用f.read(seize),将取一定数目的数据,然后作为字符串或字节对象返回,seize是一个可选的数字类型的参数,当size被忽略或者为负,那么该文件所有内容豆浆杯读取且返回。
f.readline()
f.readline()会从文件中读取单独的一行,换行符为‘\n’。f.readline()如果返回一个空字符串,说明已经读取到最后一行。
f.readlines()
f.readlines()将返回该文件中包含的所有航,如果设置可选参数sizehint,则读取指定长度的字节,并将这些字节按行分割。
f.write()
f.write(string)将string写入到文件中,然后返回写入的字符数。
如果要写入一些不是字符串的东西,需要先进行转换,
f.tell()
f.tell()返回文件对象当前所处的位置,它是从文件开头算起的字节数。
f.seek()
如果要改变文件当前的位置,可i使用f.seek(offset, from_what)函数。from_what的值,如果是0表示开头,如果是1表示当前位置,如果是2表示文件的结尾。
flie.close()
当处理一个文件对象时,使用with关键字是非常好的方式,结束后,他会正确关闭文件,而且写起来也比try-finally语句要简短。

file对象
file对象使用open函数来创建,file对象常用函数如下:
file.close() 关闭文件。关闭后文件不能再进行读写操作
file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件。
file.tell() 返回文件当前位置

你可能感兴趣的:(【10.29】Python语法练习7/17)