zoukankan      html  css  js  c++  java
  • Python 字符编码-文件处理

    .read   #读取所有内容,光标移动到文件末尾
    .readable #判断文件是否可读
    .readline #读取一行内容,光标移动到第二行首部
    .readlines #读取每一行内容,存放于列表中
    .write #针对文本模式的写,需要自己写换行符
    .writable #判断文件是否可写
    .writelines #向文件中写入一序列的字符串
    .close #关闭打开的文件
    encoding='' 用哪个编码打开
    .encode #编码
    .decode #解码


    上节课复习:
    1.集合类型:
    两大用途:关系运算+去重
    三个注意点:
    1.集合内元素必须为不可变类型
    2.集合内元素不能重复
    3.集合内元素无序

    去重局限性:
    1.被去重的对象包含的多个值必须都为不可变类型
    2.去重的结果为集合,无法保证原来的顺序

    1.什么是字符编码
    字符-----编码(字符编码表)------->二进制

    ACSII: 只能表示英文字符,用1bytes对应一个英文字符
    内存:ACSII
    硬盘:ACSII
    GBK:可以表示中文和英文字符,用1bytes对应一个英文字符,2bytes对应一个中文字符
    内存:GBK
    硬盘:GBK

    Shift-JIS: 日本
    内存:Shift-JIS
    硬盘:shift-JIS

    Euc-kr: 韩国
    内存:Euc-kr
    硬盘:Eus-kr

    Unicode: 可以对应万国字符,统一用2bytes对应一个字符
    内存:Unicode
    硬盘:Unicode

    两大特点:
    1,可以兼容万国字符
    2.与万国字符编码都有一种数字与数字的对应关系
    GBK数字------解码decode-------->Unicode数字
    强调:此时计算机只能使用Unicode与字符的对应关系

    utf-8:
    3Bytes对应一个中文字符
    2Bytes对应一个英文字符
    保证不乱码的关键:
    1.字符当初以什么编码存放的,就应该以什么编码取解码

    Python test.py
    在Python2中:
    1.解释器默认使用的编码是ASCII
    2.有两种字符串类型:
    str:x="上" 文件头指定的编码格式的二进制
    Unicode:x=u"上" 存成Unicode格式的二进制
    ps:
    在Python3中:
    1.(执行Python程序的第二个阶段)解释器在将test.py当普通的文本文件读入内存时默认使用的编码是UTF-8
    2.(执行Python程序的第三个阶段,开始识别语法),会将字符类型的值开辟一个内存空间存入Unicode格式的二进制
    即Python3中的str类型是Unicode编码的二进制

    3.字符串类型

    .encode 编码
    .decode 解码

    文件头:
    在文件首行写上: coding:utf-8
    就是在告诉Python下面的代码用UTF8读取


    2文件处理:
    1.什么是文件
    文件是操作系统为用户/应用程序提供的一种操作硬盘的抽象单位
    2.为何要用文件:
    用户/应用程序对文件的读写操作会由操作系统转换成具体的硬盘操作
    所以用户/应用程序可以通过简单的读写文件来间接的控制复杂的硬盘的存取操作
    实现将内存中的数据永久保存到硬盘中
    3.如何用文件
    open 是向操作系统发送请求,要求操作系统打开文件
    open(r'文件路径') 路径前都要加r
    f = open(r'a.txt',encoding='utf-8') 相对路径
    print(f.read()) f的值是一个文件对象
    f.close() 向操作系统发送请求,要求操作系统关闭打开的文件
    强调:一定要在程序结束前关闭打开的文件

    上下文管理 with
    with open(r'a.txt',encoding='utf-8') as f:
    print(f.read())
    操作完打开文件后不用再去写关闭文件指令,with会自动帮你管理


    open 打开, 打开文件,拿到一个文件对象,文件对象就相当于一个遥控器,可以向操作系统发送指令
    read 读取 读写文件,向操作系统发送读写文件指令
    encoding='' 用哪个编码打开
    .close 关闭 关闭文件,回收操作系统的资源
    with 上下文管理
    mode 模式

    4.文件的打开模式
    r: 只读模式(默认的)
    1.当文件不存在时,会报错
    2.当文件存在时,文件指针指向文件的开头
    w: 只写模式
    1.当文件不存在时,新建一个空文档
    2.当文件存在时,清空文件内容,文件指针跑到文件的开头
    a: 值追加写模式
    1.当文件不存在时,新建一个空文档
    2.当文件存在时,文件指针指向文件末尾
    5.控制读写文件单位的方式(必须与rwa连用)
    t: 文本模式(默认的),一定要指定encoding参数
    优点: 操作系统会将硬盘中二进制数字解码成Unicode然后返回
    强调: 只针对文本文件有效
    b: 二进制模式(一定不能指定encoding参数)
    优点: 没有局限性

  • 相关阅读:
    如何制作动态层分组报表
    填报表之数据留痕
    填报表中也可以添加 html 事件
    填报脚本之轻松搞定复杂表的数据入库
    在报表中录入数据时如何实现行列转换
    如何在报表中绘制 SVG 统计图
    如何用报表工具实现树状层级结构的填报表
    6.JAVA_SE复习(集合)
    JAVA_SE复习(多线程)
    数据库基本概念
  • 原文地址:https://www.cnblogs.com/earon/p/9372148.html
Copyright © 2011-2022 走看看