zoukankan      html  css  js  c++  java
  • Python

    Python的第十天

    一、maclinux 默认系统编码是Utf-8

     windows中国版,默认系统编码是gbk

    二、gbk 转成 utf-8 两种方法

     1、直接转成unicode

      

    # -*- encoding:gbk -*-
    s = "路飞"
    print(s)

       py3内存里所有字符都是unicode,unicode是万国码

       py3文件默认编码都是utf-8

       py2内存里所有字符都是ascii码

     2、转成utf-8

       

    >>> s = "路飞"
    >>> s.encode("gbk")
    b'xc2xb7xb7xc9'
    >>> s_gbk = s.encode("gbk")
    >>> s_gbk.decode("gbk")
    '路飞'
    >>> s_gbk.decode("gbk").encode("utf-8")
    b'xe8xb7xafxe9xa3x9e'

    三、用Python操作文件3种模式

     1、文件打开模式

      r 只读模式                        f=open(filename)-----打开文件

      w 创建模式,若文件已存在,则覆盖旧文件     f.write("")--------写操作

      a 追加模式,新数据会写到文件末尾         f.read()---------读操作

                                     f.close()--------保存并关闭

     2、write 创建模式

      

    f = open("name_list",mode="w")
    f.write("alex ")
    f.write("liang ")
    f.write("wang ")
    f.write("li ")
    f.close()

    3、read 只读模式
    f = open("name_list",mode="r")
    print(f.readline()) # 读一行内容
    print('------------')
    print(f.read()) # 读出所有内容

    4、append 追加模式
    f = open("name_list",mode="a")
    f.write("hahaha ")
    f.write("jack ")
    f.close()

    四、遍历文件-人物联系方式

    问题:'gbk' codec can't decode byte 0x80 in position 53: illegal multibyte sequence
    解决:f = open("file name",encoding="utf-8",mode="r")

    打印出身高>=170 and 体重<=50的人物
    f = open("人物联系方式",encoding="utf-8",mode="r")
    for line in f:
    # print(line,end="") #删除空行
    line = line.split() #把一行分成字符
    # print(line)
    height = int(line[2])
    weight = int(line[3])
    if height >= 170 and weight <= 50:
    print(line)


     

      

  • 相关阅读:
    防抖函数
    video.js汉化
    vscode 设置
    webpack配置
    寄生组合继承
    数组排序
    操作节点的方法
    vscde软件
    vue目录详解
    前端
  • 原文地址:https://www.cnblogs.com/sxy2021/p/14346841.html
Copyright © 2011-2022 走看看