python的codecs_python codecs

python的codecs_python codecs1 设置标准输出的编码方式 usegetwriter togetastream Instantiatet passingsys stdoutastheo importcodecs u pi Wrapsys st

1. 设置标准输出的编码方式:

use getwriter() to get a stream encoder class for a specific encoding. Instantiate the class, passing sys.stdout as the only argument.

import codecs

import sys

text = u’pi: π’

# Wrap sys.stdout with a writer that knows how to handle encoding

# Unicode data.

wrapped_stdout = codecs.getwriter(‘UTF-8’)(sys.stdout)

wrapped_stdout.write(u’Via write: ‘ + text + ‘\n’)

# Replace sys.stdout with a writer

sys.stdout = wrapped_stdout

print u’Via print:’, text

另外,如果要对项目的log系统进行修改,可以用

sys.stdout = MultiStream(wrapped_stdout)

MultStream 是一个类似文件的类, 往 python logger里写信息

class MultiStream:

“””

A file like class that writes to python logger

“””

def __init__(self, stdout):

self.stdout = stdout

self.fileno = stdout.fileno

self.consoleLog = False

def close(self):

pass

def flush(self):

if self.consoleLog:

self.stdout.flush()

def write(self, msg):

fileHandler = open(stdoutFileName, ‘a’)

try:

if fileHandler:

fileHandler.write(msg.encode(‘utf-8’))

except:

print traceback.format_exc()

if fileHandler:

fileHandler.write(msg)

if fileHandler:

fileHandler.close()

try:

if self.consoleLog:

print >> self.stdout, msg,

except:

print traceback.format_exc()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228642.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:33
下一篇 2026年3月16日 下午6:33


相关推荐

  • 数据库关系代数详解

    数据库关系代数详解数据库关系代数 1 关系代数的运算 1 1 传统的关系运算传统的关系运算起源于数学的集合论 有下面几种 笛卡尔积运算差运算交运算并运算 1 2 专门的关系运算选择投影连接除运算 1 2 1 关系运算中的基础概念在学习关系代数的时候 我们脑海中要时刻拥有一张表格 还有一些表格的参数 这张表格如下 比如说我们每个人都见过成绩单 牢记以下的比喻 R 就为整张成绩单 R A1 A2 A3 Ai R 语文 英语 数学 学科 t 为某个同学 t Ai 就

    2026年3月20日
    3
  • 网吧服务器发消息,网吧盗号常见途径总结以及解决办法

    网吧服务器发消息,网吧盗号常见途径总结以及解决办法近期有部分网吧反馈,网吧随机出现盗号问题,主要反馈现像是:QQ提示账号异常登录和乱发消息等、CF/wegame/吃鸡账号被盗等目前发现盗号问题主要有以下几种途径:一.网吧本地内部环境中毒引起的盗号问题1.服务器中毒处理方法:服务器安装火绒,查杀下C盘和内存,查完杀完毒后把火绒卸载掉以免识杀游戏文件2.服务器被入侵,加入了开机启动项带第三方增值引起处理方法:将启动项先关掉,一项一项加上去测试,直到…

    2022年7月26日
    27
  • OpenClaw + n8n 实战:如何构建“零信任”自动化工作流?

    OpenClaw + n8n 实战:如何构建“零信任”自动化工作流?

    2026年3月13日
    3
  • 【工具和环境】Linux下安装pycharm

    【工具和环境】Linux下安装pycharmLinux下安装pycharm一、下载pycharm安装包二、解压、安装和运行pycharm三、创建桌面快捷方式一、下载pycharm安装包下载网址:官网安装包下载链接(点击即可直接下载):2020.02.03二、解压、安装和运行pycharm解压命令:tarzxfpychrm-community-2020.2.3.tar.gz进入解压后的文件夹下的bin文件夹:cdpychrm-community-2020.2.3运行:shpycahrm.sh整个过程见下图:(说明:解压

    2022年8月28日
    7
  • webstorm激活码(注册激活)

    (webstorm激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    199
  • linux 安装jenkins

    linux 安装jenkins1 下载 deb 包 wgethttp upyun qubianzhong cn file java jenkins 2 138 3 all deb

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号