python2升级到python3

394 阅读1分钟

python2 转 python3 修改内容

简介: 未分类


修改的内容

  1. stepmethod中,需在获取到stepParameters后加一步类型转换
    stepParameters = convert_byte2str(stepParameters)
    
    
  2. 修改isnumstr函数实现方法 参考
  3. 修改protoc参数文件, 参考list:
  4. print
  5. exception , 参考:python2和python3中exception的差别
  6. 字典(Dictionary) 中的has_key()方法,参考:python2和python3中has_key方法的差别
  7. file(),改成了open()

遇到的问题

  1. 升级openssl,参考:python3.7安装, 解决pip is configured with locations that require TLS/SSL问题

  2. 升级protoc 参考list:

    protoc3语言规则:

    • enum第一个值必须为0,但不可以随便修改文件中的值,可以增加占位键值对
    • protobuf里面不能定义相同名字的枚举
    message Test {
    enum Type {
        mysql  = 0;
    	}  
    Type    a = 1;
    }
    
  3. utf-8转换

  4. python str与bytes之间的转换

  5. python3字典键值类型转换(bytes,str)

  6. Python错误:TypeError: 'int' object is not callable解决办法 参数有个定义成了type,又调用了type函数

  7. TypeError: can't use a string pattern on a bytes-like object in re.findall()

  8. python3中遇到'TypeError Unicode-objects must be encoded before hashing'

  9. TypeError: attrib() got an unexpected keyword argument 'convert'

仅供参考(没有实际操作)

使用python3自带工具2to3.py 转换 python2.x 代码 到python3,参考: 2to3