python cmd 新窗口输出logging
时间: 2023-09-24 07:11:18 浏览: 164
要在 Python cmd 模块中输出 logging 信息到新窗口,你可以使用以下代码:
```python
import logging
import subprocess
logger = logging.getLogger(__name__)
# 设置 logger 格式等信息
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 创建 FileHandler 将日志写入到文件中
fh = logging.FileHandler('log.txt')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
# 创建一个新的 cmd 窗口,并在其中运行命令
subprocess.Popen('start cmd /k python myscript.py', shell=True)
# 在 cmd 窗口中输出 logging 信息
logger.debug('Debug message')
logger.info('Info message')
logger.warning('Warning message')
logger.error('Error message')
logger.critical('Critical message')
```
在上面的代码中,我们首先创建一个 logger 对象并设置其级别和格式。然后,我们创建一个 FileHandler 将日志写入到文件中。接着,我们使用 subprocess.Popen() 函数创建一个新的 cmd 窗口,并在其中运行命令,这里我们以运行 myscript.py 为例。最后,我们在 cmd 窗口中通过 logger 对象输出 logging 信息。
请注意,在 Windows 系统上,使用 start 命令可以打开一个新的 cmd 窗口。在 Linux 或 macOS 系统上,你可以使用 xterm 或 gnome-terminal 等终端模拟器来打开新的终端窗口。
阅读全文