You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何仅导入Python logging模块却打印两次当前日期?

解决import logging意外输出两次日期的问题

嘿,这个问题挺奇怪的——我之前在PyCharm的临时scratch文件里也碰到过类似的莫名输出,给你几个具体的排查和解决方向:

  • 先排除PyCharm scratch环境的特殊性
    你可以在PyCharm里新建一个普通的Python项目文件(不是scratch目录下的),只写import logging这一行代码运行试试。如果普通文件没有输出,那基本可以确定是PyCharm的scratch环境自带的一些调试钩子或者初始化脚本在搞鬼——毕竟scratch是用来快速测试的环境,PyCharm可能会给它加一些额外的运行配置。

  • 检查全局logging配置干扰
    虽然当前目录没有logging.py,但系统或者用户级的logging配置文件可能会影响模块初始化。你可以在导入logging前手动重置默认配置来测试:

    import logging
    # 强制重置logging的默认配置
    logging.root.handlers = []
    logging.basicConfig(level=logging.WARNING)
    

    运行这段代码,如果日期输出消失了,说明是全局配置导致的默认日志输出被触发了。

  • 排查PyCharm插件的影响
    有些第三方PyCharm插件(比如调试增强、日志监控类的)可能会偷偷修改Python运行时的日志行为。你可以临时禁用所有非官方插件,重启PyCharm后再运行scratch文件,看看输出是否消失。如果恢复正常,再逐个启用插件找出问题根源。

  • 尝试更换Python版本测试
    你用的是Python3.6,这个版本相对比较老了,logging模块在后续版本里有一些初始化逻辑的调整。可以在PyCharm里切换到3.7及以上的Python解释器,运行同样的scratch代码,看是否还会出现这个问题。

如果以上方法都没解决,你可以试试在PyCharm的Run Configuration里给scratch文件添加-S参数(禁用site模块),也就是运行命令改成/usr/bin/python3.6 -S /home/user/.PyCharmCE2019.1/config/scratches/scratch_2.py,看看是否能阻止额外的输出——site模块有时候会加载一些全局的初始化脚本,可能间接触发了日志输出。

内容的提问来源于stack exchange,提问作者l001d

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:07:29