(D16)Python-文件操作

本文深入讲解了Python中文件操作的基础知识,包括文件的打开、读写、关闭等基本操作,以及文本文件和二进制文件的处理方式。同时,文章还介绍了文件对象的方法,如seek方法的使用,以及标准输入输出文件的概念。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

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 --

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

C:\Users\032453>pip install numpy==1.21.5 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple ERROR: Could not find a version that satisfies the requirement numpy==1.21.5 (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0, 1.21.1, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0, 1.23.1, 1.23.2, 1.23.3, 1.23.4, 1.23.5, 1.24.0, 1.24.1, 1.24.2, 1.24.3, 1.24.4, 1.25.0, 1.25.1, 1.25.2, 1.26.0, 1.26.1, 1.26.2, 1.26.3, 1.26.4, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc1, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0rc1, 2.2.0, 2.2.1, 2.2.2, 2.2.3) ERROR: No matching distribution found for numpy==1.21.5 C:\Users\032453>pip install opencv-python==4.5.5.64 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting opencv-python==4.5.5.64 Downloading https://pypi.tuna.tsinghua.edu.cn/packages/48/c3/798bd7b8f78430f82ec0660b753106717e4e4bb8032ce56f77d8577cb24b/opencv_python-4.5.5.64-cp36-abi3-win_amd64.whl (35.4 MB) ---------------------------------------- 35.4/35.4 MB 3.6 MB/s eta 0:00:00 Collecting numpy>=1.21.2 (from opencv-python==4.5.5.64) Using cached https://pypi.tuna.tsinghua.edu.cn/packages/42/6e/55580a538116d16ae7c9aa17d4edd56e83f42126cb1dfe7a684da7925d2c/numpy-2.2.3-cp312-cp312-win_amd64.whl (12.6 MB) Installing collected packages: numpy, opencv-python Successfully installed numpy-2.2.3 opencv-python-4.5.5.64
最新发布
03-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值