(D16)Python-文件操作

Python-文件操作

文件:file


我穿上大头皮鞋,走在凌冽荒野


文件:

  • 文件时用于存储数据的基本单位
  • 文件通常用来长期存储
  • 文件中数据是以字节为单位顺序存储

文件的操作

  1. 打开文件
  2. 读写文件
  3. 关闭文件

注:文件打开数量有一定限制

文件打开函数

  • open(filename,mode=‘rt’):用于打开一个文件,返回返回操作此文件的流对象,如果打开失败,触发OSError

文件对象的关闭方法

  • F.close() 关闭文件 释放系统资源

  • xxd filename: 查看字节十六进制内容
  • repr() 还原字符串的python 表达式
  • read() 依次逐个读取
  • readline() 读取字节串返回
  • readlines() 以列表形式显示一个或多个字符文件

示例:

try:
    f = open('file.txt')
    print('文件以相对路径打开成功')
except OSError:
    print('文件操作失败')
print(f.readline())
print(f.readline())
f.close()
print('文件关闭成功')

文本文件模块

  • 模式字符 ‘r’
    1.对文本文件读写操作需要使用字符串进行读写操作
    2.读写过程中会自动编码解码
    3.统一使用\n分隔

  • 文本文件的写操作:
    方法:
    F.write(x)
    F.wrutelines(列表)
    模式字符串:
    ‘r’,‘w’,‘x’,‘a’,‘b’,‘t’
    二进制文件操作

    二进制字符:”b“

    • 默认文件中存储的都是以字节(byte)为单位的数据,通常有人为规则的格式,需要以字节为单位进行读写
    • 对二进制文件的读写需要用字符串(bytes) 或字节
      数组(bytearray)进行操作
    • 对于二进制文件读写方法都 需要用字节为单位进行操作
     F.read(n)
     F.readline()
     F.readlines()
     F.write(字节串)
     F.writelines(字节串组成的列表)
    

F.seek方法

作用:
  • 设置文件的读写位置,返回新的读写位置
格式:
  • F.seek(偏移量, whence=相对位置)
    偏移量

    • 大于0代表向文件末尾方向移动
    • 小于0代表向文件头方向移动

    相对位置:

    • 0 代表从文件头开始偏移
    • 1 代表从当前读写位置开始偏移
    • 2 代表从文件尾开始偏移

标准输入输出文件:

模块名:
sys
  • sys.stdin 标准输入文件(默认为键盘)
  • sys.stdout 标准输出文件(默认为屏幕终端)
  • sys.stderr 标准错误输出文件(默认为屏幕终端)
  • 注: 标准文件不需要打开即可以使用,也不用手动关闭

十个汉字占多少个字节?
汉字编码(只有两种)

国标系列:

  • GB18030(二字节或四字节编码, 27533个字)
  • GBK(二字节编码,20013个字)
  • GB2313(二字节编码,约7千多个字)
    (Windows常用)
    国际标准:
    • UNICODE(UNCODE16/UNICODE32) <-> UTF-8
      (Linux/Mac OS X/ IOS/ Android 常用)
    • UTF-8中:
      • 英文ASCII (0x0 - 0x7F) 一字节
      • (0x80 - 0x3FF) 二字节
      • (0x400 - 0xFFFF) 三字节(中文在此区)

python 编码字符串:
  • ‘gb2312’
  • ‘gbk’
  • ‘gb18030’
  • ‘utf-8’
  • ‘ascii’
编码注释:
  • 在源文件中,第一行或第二行写入的如下内容是编码注释
    -- coding:gbk --

    -- coding:utf-8 --
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值