Python如何设置utf-8为默认编码的问题

 更新时间:2024年06月24日 09:15:30   作者:子不语  
这篇文章主要介绍了Python如何设置utf-8为默认编码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python设置utf-8为默认编码

python默认的编码是ASCII,通过sys.getdefaultencoding()可以查看默认编码。

当程序中出现非asc编码时,python的处理常常会有乱码的错误,一般有如下几种方法:

代码临时更改

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')  

只在程序执行时临时生效,系统默认编码并没有改变。

此时如果还有编码错误 ,需要用到encode(‘utf-8’),将字符串显式声明编码。

字符串.encode('utf-8')

目录文件更改

创建一个叫 sitecustomize.py的文件,因为python在启动的时候会去加载这个文件,如果要修改一些启动的变量就可以把操作写在这个文件。

  • 第一步:

在python安装目录的Lib\site-packages文件夹下新建一个sitecustomize.py文件

  • 第二步:

在sitecustomize.py填写如下代码

# encoding=utf8  
import sys  
  
reload(sys)  
sys.setdefaultencoding('utf8') 

python2.7永久地将默认编码设置为utf-8

网上推荐了两种方法

  • 第一个方法<不推荐>

编辑site.py, 修改setencoding()函数, 强制设置为 utf-8

  • 第二个方法<推荐>

增加一个名为 sitecustomize.py, 推荐存放的路径为 site-packages 目录下

sitecustomize.py 是在 site.py 被import 执行的,因为 sys.setdefaultencoding() 是在 site.py 的结尾处被删除的,所以,可以在 sitecustomize.py 使用 sys.setdefaultencoding().

#file name: sitecustomize.py
import sys
sys.setdefaultencoding(‘utf-8')

既然 sitecustomize.py 能被自动加载, 所以除了设置编码外, 也可以设置一些其他的东西.

实践

  • python2.7 sys.setdefaultencoding()报错,说不存在setdefaultencoding
  • 但是这个问题大多数在python3 中抛出
  • 把site.py 中的del setdefaultencoding的代码注释了任然无效
  • 最后直接修改site.py 中setencoding()函数的encoding=‘utf-8’
  • 重启程序,欧克,不再报编码问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python实现大量图片重命名

    python实现大量图片重命名

    这篇文章主要为大家详细介绍了python实现大量图片重命名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python模块之subprocess模块级方法的使用

    python模块之subprocess模块级方法的使用

    这篇文章主要介绍了python模块之subprocess模块级方法的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Python实现远程调用MetaSploit的方法

    Python实现远程调用MetaSploit的方法

    这篇文章主要介绍了Python实现远程调用MetaSploit的方法,是很有借鉴价值的一个技巧,需要的朋友可以参考下
    2014-08-08
  • python实现数据分析与建模

    python实现数据分析与建模

    这篇文章主要介绍了python实现数据分析与建模功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python Pytorch深度学习之图像分类器

    Python Pytorch深度学习之图像分类器

    今天小编就为大家分享一篇关于Pytorch图像分类器的文章,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • python numpy 中linspace函数示例详解

    python numpy 中linspace函数示例详解

    这篇文章主要介绍了python numpy 中linspace函数,本文我们通过示例学习了linspace函数,如果你熟悉NumPy,一定也注意到还有np.arange函数,两者最大差异是,linspace能够精确控制终止值终值,而arange能够更直接地控制序列中值之间的增量,需要的朋友可以参考下
    2023-03-03
  • 用Python的Flask框架结合MySQL写一个内存监控程序

    用Python的Flask框架结合MySQL写一个内存监控程序

    这篇文章主要介绍了用Python的Flask框架结合MySQL些一个内存监控程序的例子,并且能将结果作简单的图形化显示,需要的朋友可以参考下
    2015-11-11
  • Python正则表达式匹配日期与时间的方法

    Python正则表达式匹配日期与时间的方法

    这篇文章主要介绍了Python正则表达式匹配日期与时间的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python 算法题——快乐数的多种解法

    python 算法题——快乐数的多种解法

    看书,看视频都可以帮助你学习代码,但都只是辅助作用,学好 Python,最重要的还是 多敲代码,多刷题。本文讲述算法题快乐数的多种解法,帮你打开思路
    2021-05-05
  • Django分页功能的实现代码详解

    Django分页功能的实现代码详解

    在本篇文章里小编给大家整理了关于Django分页功能的实现代码以及相关知识点内容,需要的朋友们可以跟着学习参考下。
    2019-07-07

最新评论