为什么文件处理程序总是在同一路径中创建日志文件?

2024-09-22 14:22:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力学习有关日志的知识。当我创建第一个文件处理程序时,它工作正常。我创建了一个名为“guesss\u of_PC.log”的文件,处理程序将其放在与py file相同的路径中

但在我希望py项目位于另一个路径之后,我在py文件旁边创建了一个新文件夹,并将该py文件放入新文件夹,同时还“猜测”了_PC.log。但是现在,当我运行py文件时,它仍然会在第一个目录中创建“Guesses\u of_PC.log”即使我为处理程序编写了新的路径。为什么会这样

谢谢你的支持。代码如下:

log_guess.setLevel(logging.INFO)
log_hand_guess=logging.FileHandler(filename="Guesses_of_PC.log")
log_guess.addHandler(log_hand_guess)
log_form_guess=logging.Formatter("%(asctime)s:%(levelname)s:%(name)s:%(message)s")
log_hand_guess.setFormatter(log_form_guess) ```


  [1]: https://i.stack.imgur.com/BvUPm.png

Tags: 文件ofpy路径form文件夹log处理程序
1条回答
网友
1楼 · 发布于 2024-09-22 14:22:40

Python解析基于working directory的相对路径,您的working directory是第一个目录。因此,它使用first_folder/Guesses_of_PC.log创建日志文件。要在新文件夹中创建日志文件,需要使用filename="new_folder/Guesses_of_PC.log",或者在执行代码之前更改working directory。示例代码:

log_guess.setLevel(logging.INFO)
log_hand_guess=logging.FileHandler(filename="new_folder/Guesses_of_PC.log")
log_guess.addHandler(log_hand_guess)
log_form_guess=logging.Formatter("%(asctime)s:%(levelname)s:%(name)s:%(message)s")
log_hand_guess.setFormatter(log_form_guess)

相关问题 更多 >