• 字符编码和文件处理


    一、字符编码

       1.用什么编码encode就用什么解码decode

          ps:内存固定使用unicode编码

         我们可以控制的编码是往硬盘存放或基于网络传输

         python3解释器默认的字符编码是utf-8

         py2解释器默认的字符编码是ASCII

      2.数据最先产生于内存,是unicode格式,要想传输需转成bytes格式

       #unicode-------->encode(utf-8)----------->bytes

      拿到bytes就可以往文件存放或基于网络传输

      #bytes------->decode(utf-8)---------->unicode

    3.py3中的字符串encode得到bytes

    二、文件处理

      open:

     1.会像操作系统,发起系统调用,操作会打开一个文件

    2.在Python程序中会一个值指向操作系统打开的那个文件,我们可以把该值赋值给一个软件变量

    #回收资源

    1.f.close()关闭操作系统打开的文件,即2回收操作系统的资源(必要的)

    2.del f:没必要做自己去做,在py程序运行完之后,会自动清理与该程序有关的所有内存空间

     文本文件:只读模式

    f=open(r'aaa.py','r',encoding='utf-8')
    f.read()
    print(f.readlines())#文件所有的行都进来
    print(f.readline(),end=' ')#一行一行的读
    f.close()
    只写模式,文本文件不存在则创建空文件,文件存在则清空
    f=open('new1_txt','w',encoding='utf-8')
    f.write('11111111
    ')
     f.writelines(['23222
    ','555555
    '])#同时写多行
    f.writable()#没有弄懂f.writable()的作用
    print(f)
    f.close()

    文本文件,只追加模式,文本文件不存在则创建,文件存在则清除

    f=open('new2_txt','a',encoding='utf-8')
    print(f.readable())
    print(f.writable())
    f.write('3333
    ')
    f.writelines(['444444444
    ','555555
    '])
    f.close()

    rb

    f=open('aaa.py','rb')
    print(f.read().decode('utf-8'))
    复制图片
    f=open('28.jpg','rb')
    data=f.read()

    wb

    f=open('new3_txt','wb')
    f.write('aaaa
    '.encode('utf-8'))
    f=open('29.jpg','wb')
    f.write(data)

    ab

    f=open('new3_txt','ab')
    f.write('aaaaaa
    '.encode('utf-8'))

    上下文管理

    with open('aaaa.py','r',encoding='utf-8') as read_f,
          open('aaaa_new.py','w',encoding='utf-8') as write_f:
        data=read_f.read()
        write_f.write(data)

    所有的数据自带布尔值
    修改文本文件用replace

      

  • 相关阅读:
    前端几个常用简单的开发手册拿走不谢
    初中级前端开发工程师如何提升个人能力?
    初中级前端开发工程师如何提升个人能力?
    【程序人生】那些工作之外的技术挣钱方式
    Java EE (13) -- 常用的基础结构模式
    3、数据类型
    洛谷——P2299 Mzc和体委的争夺战
    codevs——T1214 线段覆盖
    洛谷——P1106 删数问题
    洛谷——P1031 均分纸牌
  • 原文地址:https://www.cnblogs.com/1996-11-01-614lb/p/7230725.html
Copyright © 2020-2023  润新知