python 使用logging,生成的log文件是什么编码格式?脚本的编码格式决定?系统的编码格式决定?
编辑器的格式设置为utf-8,脚本开头标示了#-*-coding:utf-8-*-,那log文件就是utf-8格式的么?或者是电脑的系统ANSI格式的?如果脚本中在写入l...
编辑器的格式设置为utf-8,脚本开头标示了# -*- coding:utf-8 -*-,那log文件就是utf-8格式的么?或者是电脑的系统ANSI格式的?如果脚本中在写入log的过程中有解码编码操作,这个会不会影响到log文件的编码格式?
另外“编辑器的格式设置为utf-8,脚本开头标示# -*- coding:utf-8 -*- ",这个真正生效的是不是只有编辑器的格式设置为utf-8,而# -*- coding:utf-8 -*- "可以理解为只是一个提示? 展开
另外“编辑器的格式设置为utf-8,脚本开头标示# -*- coding:utf-8 -*- ",这个真正生效的是不是只有编辑器的格式设置为utf-8,而# -*- coding:utf-8 -*- "可以理解为只是一个提示? 展开
展开全部
log的文件当然是byte格式。或者是无格式的。汉字编码取决于你自己设定的类型。
#coding:utf-8这个东西,只在python2下有效果。还需要编程器配合。你使用python自带的idle当然是没有问题的。
log中的汉字是一定要编码的。不编码你存贮不了。
编辑器本身的缺省编码格式要与你的源代码编码一致,不然看到的就是乱码。如果是idle,它会根据python脚本自动识别。
不过有些编辑器是有些不智能的。它不能理解python脚本第一行的提示。所以有时候,觉着很别扭自己要手工保持编辑器的编码与源码一致。还需要维护那个coding:utf-8
不过python3已将这一句去掉了。源代码全部要求使用utf-8编码(也许是utf-16),我很少用python3
#coding:utf-8这个东西,只在python2下有效果。还需要编程器配合。你使用python自带的idle当然是没有问题的。
log中的汉字是一定要编码的。不编码你存贮不了。
编辑器本身的缺省编码格式要与你的源代码编码一致,不然看到的就是乱码。如果是idle,它会根据python脚本自动识别。
不过有些编辑器是有些不智能的。它不能理解python脚本第一行的提示。所以有时候,觉着很别扭自己要手工保持编辑器的编码与源码一致。还需要维护那个coding:utf-8
不过python3已将这一句去掉了。源代码全部要求使用utf-8编码(也许是utf-16),我很少用python3
追问
log的文件当然是byte格式。或者是无格式的。汉字编码取决于你自己设定的类型。
---> 这个不明白
log文件的格式跟系统没有关系?
用的是notepad++,设置的格式是utf-8,是不是log的格式就是utf-8?
然后脚本里有编码,比如向上encode('gbk'),此时就是ANSI格式
coding:utf-8和脚本编码格式一致,配套使用,可以这么理解么?
追答
log文件的格式的确与操作系统无关。就目前所有操作系统都是这样子的。所以python写文件时,字符串一定是编码的。
notepad++编辑时用utf-8。这只与你的源代码编辑有关。与log格式无关。
ANSI在windows平台上,大多数据情况下指的就是gbk或者是gb18030。
coding:utf-8是# -*- coding:utf-8 -*- 的缩写。我通常是这样写的。
这一句话只对特定的编辑器起作用。我想也许对notepad和eclipse没有影响。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询