PyCharm上的小问题及解决02--在创建文件时,文件上面带上了蓝色的问号

本文介绍了在使用Python logging模块创建日志文件时遇到的编码问题,即文件名上出现蓝色问号。问题源于未指定文件编码格式,PyCharm可能默认使用GBK等编码。解决方法包括右键文件选择相应选项以及修改PyCharm的文件编码设置。通过设置文件编码为UTF-8,成功避免了蓝色问号的出现,确保了日志文件的正常创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下,当我在使用python中的logging模块去创建日志文件的时候出现了如下的问题: 

 可以看到,我们的文件上面带上了蓝色的问号,主要原因是因为当我们在创建文件的时候如果没有指定文件的编码格式话,pycharm开发环境就会默认使用它的自己的编码格式,如GBK等。

我们可以直接鼠标右击带有蓝色问号的文件,选择第一个选项,如下: 

 

以及去修改pycharm创建文件时所使用的编码格式,如下:

file→settings→editor→file  encoding

如上修改之后我们再去执行程序创建文件:

mport  logging
import  time
import os
from logging.handlers import TimedRotatingFileHandler
if __name__ == '__main__':
  if not  os.path.exists("./teacherlogs3"):
        os.mkdir("./teacherlogs3")   # 在当前工作目录下创建teacherlogs3目录
    logger = logging.getLogger("mylog")  # 设置日志的名称
    logger.setLevel(logging.INFO)        # 设置日志的级别
    file_name = r"./teacherlogs3/test.log"   # 设置文件名称
    fh = TimedRotatingFileHandler(file_name,"S")   # 创建按照时间来自动生成的日志文件
    ch = logging.StreamHandler()         # 创建控制台处理器,用于向控制台输出日志
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)           # 指定格式化的日志输出的样式
    ch.setFormatter(formatter)
    logger.addHandler(fh)                # 将logger对象与处理器进行绑定
    logger.addHandler(ch)
    while True:                          # 死循环只能手动去暂停
        logger.info("info")              # 输出日志
        logger.error("error")

 如上,所创建出来的文件就没有带上蓝色的问号,表示我们修改文件的编码格式成功。

有问题请在评论区留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值