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;

相关推荐
一舍予3 分钟前
nuxt3项目搭建相关
开发语言·javascript·vue.js·nuxt
q0_0p1 小时前
从零开始的Python世界生活——基础篇(Python字典)
python·python基础
AI人H哥会Java1 小时前
【JAVA】Java基础—面向对象编程:常用API与数据结构—集合框架(List、Set、Map等)
java·开发语言
databook1 小时前
manim边做边学--圆柱体
python·动效
shepherd枸杞泡茶2 小时前
C# 数据结构之【队列】C#队列
开发语言·数据结构·c#
deephub2 小时前
Scikit-learn Pipeline完全指南:高效构建机器学习工作流
人工智能·python·机器学习·scikit-learn
麻衣带我去上学2 小时前
Pytest使用Jpype调用jar包报错:Windows fatal exception: access violation
windows·python·pytest·jar
scoone2 小时前
C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值
开发语言·c++
轩情吖2 小时前
模拟实现Bash
linux·c语言·开发语言·c++·后端·bash·环境变量
旧故新长2 小时前
版本控制和idea简体中文教程
java·开发语言·intellij-idea