python3 中的reload(sys)和sys.setdefaultencoding('utf-8')

通常我们为了防止出现乱码会进行一下操作
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)
但这是python2的写法,但是在python3中这个需要已经不存在了,这么做也不会什么实际意义。
如果你要这么做就会出现一下错误

sys.setdefaultencoding(‘utf-8‘)
AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘
在Python2.x中由于str和byte之间没有明显区别,经常要依赖于defaultencoding来做转换。
在python3中有了明确的str和byte类型区别,从一种类型转换成另一种类型要显式指定encoding。

因此,以上语法可以改为

import importlib,sys
importlib.reload(sys)

python3 中的reload(sys)和sys.setdefaultencoding('utf-8')

原文地址:https://www.cnblogs.com/lxc1997ye/p/11665521.html

时间: 2024-10-12 12:01:34

python3 中的reload(sys)和sys.setdefaultencoding('utf-8')的相关文章

python3中sys.argv[]小记

1.python3中sys.argv[]用于传递程序外部的参数,外部一般指命令行输入的参数,argv[]所传递的参数实质上是一个元组,其第一个元素为程序本身. 2. 1 1 sys.argv[0] #传入的参数为程序本身 2 2 sys.argv[n] #n>0,传入外部的第n个参数 3 3 sys.argv[n,m] #传入第n到第m个参数数 原文地址:https://www.cnblogs.com/wasua/p/9087462.html

Python3 中 sys.argv[ ]的用法解释

sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. #test.py import sys a=sys.argv[0] print(a) 在程序中找到 ‘运行’->点击->输入"cmd&q

python中常见模块命令(os/sys/platform)

一.Os Python的标准库中的os模块主要涉及普遍的操作系统功能.可以在Linux和Windows下运行,与平台无关. os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径. os.getenv()和os.putenv()函数分别用来读取和设置环境变量. os.listdir()返回

Python3.x:os._exit(), sys.exit(), exit() 的区别

Python3.x:os._exit(), sys.exit(), exit() 的区别 一.sys.exit() 说明:退出程序引发SystemExit异常, 可以捕获异常执行些清理工作.一般主程序中使用此退出. 二.os._exit(n) 说明:直接退出, 不抛异常, 不执行相关清理工作. 常用在子进程的退出. 三.exit()/quit() 说明:跑出SystemExit异常. 一般在交互式shell中退出时使用. 作者:整合侠链接:http://www.cnblogs.com/lizm1

Python中sys模块sys.argv取值并判断

#!usr/bin/env python # -*- coding: utf-8 -*- # Author:Sun Xiaolin import sys judgement = sys.argv[1] #[]内写的值表示取第几个 # print(judgement) if judgement == "1": print("一") elif judgement == "2": print("二") else:print(&quo

【转】Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)

[转]Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128) 现象 打印任何一种包含有中文的对象,字典.列表.DataFrame.或字符串.比如: print('中文') 控制台报错: Traceback (most recent call last): File "printcn.py", line 1, in <module> pri

python3中实现客户端与服务端交互发送文件

在python3中实现客户端与服务端程序交互,从客户端发送文件到服务端 客户端代码:client.py #!/usr/bin/env python #_*_ encoding=utf-8 _*_ import socket,sys,os ip_port = ('127.0.0.1',9999) sk = socket.socket() sk.connect(ip_port) container = {'key':'','data':''} while True:     input_data =

Python2和Python3中print的不同点

在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构: 2.Python2打印时可以不加括号:print 'hello world', Python3则需要加括号   print("hello world") 3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的一些行为

Python2 和 Python3 中默认编码的差异

最近在使用 Python3.4 做一些脚本实现,发现对于编码的处理上和 Python2.6 有很大的不同,就此机会把相关知识做个梳理,方便需要的时候查阅. 先说下概念和差异: 脚本字符编码:就是解释器解释脚本文件时使用的编码格式,可以通过 # -\*- coding: utf-8 -\*- 显式指定解释器字符编码:解释器内部逻辑过程中对 str 类型进行处理时使用的编码格式Python2 中默认把脚步文件使用 ASCII 来处理(历史原因请 Google)Python2 中字符串除了 str 还