【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() 返回文件当前位置

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,808评论 0 10
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,905评论 0 38
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,464评论 0 5
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,442评论 0 9
  • 文|司茜 01 上个星期周末,我去疗养院看了外婆。距离上一次见面还是去年过年的时候。 坐了两个多小时的轻轨,不能直...
    司茜阅读 535评论 3 4