day5

推荐书籍

python核心编程(第二版)

python Cookbook

流畅的编程(Fluent Python)

文件操作

1. 文件操作

常见的文件类型:

  • txt
  • csv
  • json
  • html
  • mp4

文件的操作流程

  • 打开 ----> open()
  • 读写 ----> read()/write()
  • 关闭 ----> close()
用途方法功能
打开文件open(file)打开文件
关闭文件close()关闭文件
读写文件内容f.read([size])从文件中读取指定的字节数;若未指定,读取所有。
f.readline([size])读取整行,包括换行符“\n”
f.readlines([size])读取所有行,并返回列表
f.write(str)将字符串写入文件,并返回字符串长度
f.writelines(seq)向文件写入一个序列字符串列表。如果需要换行,需要自己加入换行符“\n”
f.flush()刷新文件缓冲,直接把内如缓冲的数据写入文件
文件的定位f.seek(offset)设置文件的当前位置,即指针位置
f.tell()返回文件的当前位置,即指针位置
模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

文件的打开与关闭

内置函数:open(),创建一个file对象,之后才可以用它调用相关的方法

格式:

file_object = open(file,[,mode],[,encoding = ‘utf-8],[,buffering])

解释:

  • file_object ----> open() 返回的文件对象
  • file ----> 一个要打开的文件
  • mode ----> 指定模式:如只读,写入,追加……。一般默认为只读。
  • encoding ----> 指定文件编码,usually,‘utf-8’/‘GBK’
  • buffering ----> 若设置为0,不会有寄存;设为1,访问文件时会寄存行;设为大于1的数,表明是寄存区的缓冲大小;设为负数,则寄存区的缓存区大小为系统默认。

文件对象的属性

属性描述
f.name返回文件名称
f.mode返回打开文件的访问模式
f.closed如果文件已关闭,返回True;否则,返回False

文件的关闭

f.close()

节省计算机资源提高性能,使用完文件之后,关闭它。

文件的读写

  • f.read([size])
    • 从文件指针处读取,把指针后的内容读取出来。
    • 传递size,指定读取的字节数。
  • readline()
    • 每次读取一行;返回的是一个字符串对象,保持当前行的内存
    • 缺点:比readlines()慢得多
  • readlines()
    • 一次性读取整个文件;自动将文件内容分析成一个行的列表
  • write()
    • 只支持str类型的写入
  • writelines()
    • writelines()中的参数只有一个。不同于write(),writelines()支持str同时也支持list写入
    • 如果使用list写入txt文件,可以写入多行;如果使用str写入txt文件,则只能写入一行
定位读取
  • f.tell
    • 获取文件的当前位置。
  • f.seek()
    • seek(offset[,from])
      • offset,要移动的字节数
      • from,指定偏移的参考位置
        • 0 ----> 从头开始偏移
        • 1 ----> 当前位置偏移
        • 2 ----> 从末尾偏移

模块(module):

开发过程中,程序代码越来越多,如果在一个文件里,代码会越来越长——>代码不易维护

在python中,一个.py文件就可以称一个模块:

即:

1.包含相应功能的函数及其变量,.py则以”.py"为后缀名

2.模块可以为其他的程序引用,

os模块

os模块是python标准库中用于访问操作系统功能的模块

使用OS模块提供的接口,能够实现跨平台访问

最常见的操作:

1.目录的操作

2.判断

系统操作

os.sep:用于查看系统路径的分隔符;

Windows——>’\’

ubuntu——>’/’

os.name:显示我们正在使用的平台

os.getenv()–>读取环境变量(envirnoment)

os.getcwd()–>获取当前路径

目录操作—增删改查(direction)

os.listdir():返回指定目录下的所有文件和目录名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值