Python开发——工具篇 & Pycharm的相关配置,Python相关操作 & 持续更新

前言

本篇博客是python开发的工具篇相关,介绍pycharm的使用和相关配置,收录python的相关操作,比如如何启动jupyter。

目录

引出


1.pycharm的配置,选择不同的python环境,根据不同等级日志显示不同颜色;

2.如何启动jupyter;

Pycharm

pycharm如何不同等级日志显示不同颜色

在PyCharm中,可以通过修改日志记录器的日志级别来改变日志的显示颜色。以下是一些常见的日志级别及其对应的颜色:

  • DEBUG:灰色
  • INFO:绿色
  • WARNING:黄色
  • ERROR:红色
  • CRITICAL:红色

要修改日志级别,请按照以下步骤操作:

  1. 打开PyCharm并导航到"File" -> "Settings"。
  2. 在设置窗口中,选择"Editor" -> "Color Scheme"。
  3. 在"Color Scheme"选项卡中,选择"Console Colors"。
  4. 在"Console Colors"选项卡中,找到"Log Console"部分。
  5. 在"Log Console"部分,可以看到不同的日志级别和它们的颜色设置。
  6. 单击要修改的日志级别,并选择所需的颜色。
  7. 单击"Apply"或"OK"按钮以保存更改。
python 复制代码
#!/usr/bin/env python
# encoding: utf-8
import logging


# now we patch Python code to add color support to logging.StreamHandler
def add_coloring_to_emit_windows(fn):
  # add methods we need to the class
  def _out_handle(self):
    import ctypes
    return ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)

  out_handle = property(_out_handle)

  def _set_color(self, code):
    import ctypes
    # Constants from the Windows API
    self.STD_OUTPUT_HANDLE = -11
    hdl = ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)
    ctypes.windll.kernel32.SetConsoleTextAttribute(hdl, code)

  setattr(logging.StreamHandler, '_set_color', _set_color)

  def new(*args):
    FOREGROUND_BLUE = 0x0001 # text color contains blue.
    FOREGROUND_GREEN = 0x0002 # text color contains green.
    FOREGROUND_RED = 0x0004 # text color contains red.
    FOREGROUND_INTENSITY = 0x0008 # text color is intensified.
    FOREGROUND_WHITE = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED
    # winbase.h
    STD_INPUT_HANDLE = -10
    STD_OUTPUT_HANDLE = -11
    STD_ERROR_HANDLE = -12

    # wincon.h
    FOREGROUND_BLACK = 0x0000
    FOREGROUND_BLUE = 0x0001
    FOREGROUND_GREEN = 0x0002
    FOREGROUND_CYAN = 0x0003
    FOREGROUND_RED = 0x0004
    FOREGROUND_MAGENTA = 0x0005
    FOREGROUND_YELLOW = 0x0006
    FOREGROUND_GREY = 0x0007
    FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified.

    BACKGROUND_BLACK = 0x0000
    BACKGROUND_BLUE = 0x0010
    BACKGROUND_GREEN = 0x0020
    BACKGROUND_CYAN = 0x0030
    BACKGROUND_RED = 0x0040
    BACKGROUND_MAGENTA = 0x0050
    BACKGROUND_YELLOW = 0x0060
    BACKGROUND_GREY = 0x0070
    BACKGROUND_INTENSITY = 0x0080 # background color is intensified.

    levelno = args[1].levelno
    if (levelno >= 50):
      color = BACKGROUND_YELLOW | FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_INTENSITY
    elif (levelno >= 40):
      color = FOREGROUND_RED | FOREGROUND_INTENSITY
    elif (levelno >= 30):
      color = FOREGROUND_YELLOW | FOREGROUND_INTENSITY
    elif (levelno >= 20):
      color = FOREGROUND_GREEN
    elif (levelno >= 10):
      color = FOREGROUND_MAGENTA
    else:
      color = FOREGROUND_WHITE
    args[0]._set_color(color)

    ret = fn(*args)
    args[0]._set_color(FOREGROUND_WHITE)
    # print "after"
    return ret

  return new


def add_coloring_to_emit_ansi(fn):
  # add methods we need to the class
  def new(*args):
    levelno = args[1].levelno
    if (levelno >= 50):
      color = '\x1b[31m' # red
    elif (levelno >= 40):
      color = '\x1b[31m' # red
    elif (levelno >= 30):
      color = '\x1b[33m' # yellow
    elif (levelno >= 20):
      color = '\x1b[32m' # green
    elif (levelno >= 10):
      color = '\x1b[35m' # pink
    else:
      color = '\x1b[0m' # normal
    try:
      args[1].msg = color + args[1].msg + '\x1b[0m' # normal
    except Exception as e:
      pass
    # print "after"
    return fn(*args)

  return new


import platform

if platform.system() == 'Windows':
  # Windows does not support ANSI escapes and we are using API calls to set the console color
  logging.StreamHandler.emit = add_coloring_to_emit_windows(logging.StreamHandler.emit)
else:
  # all non-Windows platforms are supporting ANSI escapes so we use them
  logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)
  # log = logging.getLogger()
  # log.addFilter(log_filter())
  # //hdlr = logging.StreamHandler()
  # //hdlr.setFormatter(formatter())

设置不同pycharm的python环境

Python操作

如何启动Jupyter

指定位置,输入cmd,然后jupyter notebook

java 复制代码
jupyter notebook

总结

1.pycharm的配置,选择不同的python环境,根据不同等级日志显示不同颜色;

2.如何启动jupyter;

相关推荐
不会代码的小猴8 分钟前
3. 控件学习1
开发语言·c++·笔记·qt·算法
fangzhanpeng16821 分钟前
(前端)2.js变量作用域样例
开发语言·前端·javascript
赵广陆25 分钟前
企业实战:web服务集成
前端·pycharm·fastapi
雪碧聊技术32 分钟前
安装Python(保姆级教程)
python·版本更新·python下载
张龙6873 小时前
uv 全面指南:比 pip 快 100 倍的 Python 包管理器,从安装到团队落地
后端·python
mqiqe3 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
@HNUSTer3 小时前
Python数据可视化科技图表绘制系列教程(八)
python·数据可视化·科技论文·专业制图·科研图表
专注仿真4 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
xixiaoyunya4 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
精英的英5 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt