修改linux系统下的python默认编码

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in 


position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。


我们可以用如下命令查看系统默认编码:
>>>import sys
>>>sys.getdefaultencoding()
'ascii'


系统显示的是ascii码,那么我们现在修改这个配置
>>>import sys  
>>>reload(sys)  
>>>sys.setdefaultencoding('utf8') 
>>>sys.getdefaultencoding()
'utf8'




另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
Python代码    
# encoding=utf8  
import sys  
  
reload(sys)  
sys.setdefaultencoding('utf8')


新版本site-packages这个文件夹不存在,可以修改文件site.py这个文件
setencoding() 函数内部修改将ascii改为utf8




此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文


件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。
 
另外有一种解决方案是在程序中所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的


错误报告,我曾经遇到这种情况,错误日志压缩之后尚有70多K,全都是这一个问题,让人有很崩溃的感觉。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Linux和Windows下Python的区别主要体现在以下几个方面: 1. 系统调用:Linux和Windows的系统调用不同,因此在使用Python时需要注意系统调用的差异。 2. 文件路径:Linux和Windows的文件路径表示方式不同,Linux使用“/”作为路径分隔符,而Windows使用“\”。 3. 编码Linux和Windows的默认编码不同,Linux使用UTF-8编码,而Windows使用GBK编码。 4. 环境变量:Linux和Windows的环境变量设置方式不同,因此在使用Python时需要注意环境变量的设置。 5. 库的安装:Linux和Windows下的Python库安装方式不同,Linux使用包管理器进行安装,而Windows需要手动下载安装。 总之,Linux和Windows下Python的差异主要体现在操作系统、文件路径、编码、环境变量和库的安装等方面。在使用Python时需要根据不同的操作系统进行相应的调整和注意。 ### 回答2: 在使用Python编程语言时,我们可以选择在不同的操作系统(如Windows和Linux)中运行Python应用程序。虽然Python在不同操作系统下的使用大体相同,但在Windows和Linux上使用Python仍然存在一些差异。 首先,Python的安装方式在Windows和Linux上略有不同。在Windows上,Python安装向导提供简单而易用的安装程序,带有图形用户界面,无需专业知识即可完成安装。而在Linux上,Python的安装通常涉及使用命令行上的包管理器,需要一定的Linux技术知识。 其次,在使用Python编写应用程序时,Python在不同操作系统中的库和功能也存在区别。例如,某些Linux操作系统提供的库可能与Windows操作系统提供的库不同,这可能会影响这些库在应用程序中的使用。 此外, Python的文件路径和操作方法在Windows和Linux上也不同。在Windows上,文件路径采用反斜杠“\”,而在Linux上采用正斜杠“/”。这意味着在编写Python程序时,我们需要谨慎考虑在不同平台下的文件夹路径。 最后,Python应用程序在不同操作系统下的性能可能会有所不同。虽然Python是一种轻量级编程语言,但在较老旧的Windows机器上使用Python可能会导致性能降低,而部分Linux操作系统的运行效率比Windows更高。 总体来说,虽然Windows和LinuxPython间存在一些差异,但Python的核心功能和语法在不同平台下完全相同,这使得Python成为一种跨平台的编程语言,方便我们在不同操作系统下编写和运行应用程序。 ### 回答3: Linux和Windows操作系统都支持Python语言,但它们在Python的开发和使用方面存在一些不同之处。 首先,Linux是基于开放源代码的操作系统,而Windows是封闭源代码的操作系统。因此,在Linux上安装Python更加方便,因为许多Linux发行版自带了Python,并且可以轻松地通过命令行进行安装和升级。而在Windows下安装Python比较麻烦,需要先下载Python安装包,然后进行手动安装。此外,Windows的Python环境也可能会受到一些安全和配置限制。 其次,PythonLinux下执行速度更快。这是因为Linux有更好的多任务管理和内存管理,可以更好地优化Python的执行速度,尤其是在处理大量数据和高负荷的情况下。同时,在Linux下还可以使用更多的Python库和工具,例如Numpy、Scipy、Matplotlib等,这些库可以提高Python的数学处理和可视化能力。 第三,Windows和Linux下的Python编程环境略有不同。在Windows下,Python通常使用Python IDLE工具进行编写和调试,或者使用Visual Studio等集成开发环境进行开发。在Linux下,Python通常使用命令行进行编写和调试,或者使用开发者喜欢的文本编辑器。同时,在Linux下还可以使用一些命令行工具或Shell脚本来快速执行Python脚本。 总之,虽然Linux和Windows下的Python环境有一些不同,但Python在两个操作系统下都可以进行全面的开发和使用。开发人员应该选择符合自己需求的环境,并根据操作系统的特性进行相应的优化和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

崎山小鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值