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

    一、字符编码

       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

      

  • 相关阅读:
    Fedora 19+ 启动顺序调整
    朗科U903 低级格式化后,量产错误:read onlypage (控制器芯片群联2251-03)的解决方案
    python中快速删除实例对象中的所有属性
    python中如何用sys.excepthook来对全局异常进行捕获、显示及输出到error日志中
    通过ctypes获得python windows process的内存使用情况
    Python的XMLRPC机制:实现跨进程间、client/server端通信
    PIL Image 转成 wx.Image、wx.Bitmap
    wxpython线程安全的方法
    11
    列表去重的几种方法
  • 原文地址:https://www.cnblogs.com/1996-11-01-614lb/p/7230725.html
Copyright © 2011-2022 走看看