Python日志在终端中不起作用

1 投票
2 回答
1832 浏览
提问于 2025-04-17 12:31

我正在尝试在Python中使用日志模块。这个是我简单的脚本:

import logging

logging.basicConfig(filename = 'logging.log', format = '%(message)s', filemode = 'a', level = logging.DEBUG)
logging.info('some info')

当我从Python编辑器(我用的是Spyder)运行这个脚本时,它可以正常工作,但如果我试着从终端运行这个脚本,就会出现问题,命令是:

python ~/PYTHON/untitled0.py

untitled0.py是我在PYTHON文件夹中的脚本名称。我是不是做错了什么?

我使用的是Python 2.7.2+和Ubuntu 11.10系统。

2 个回答

0

这似乎是很多人在写脚本时常犯的错误,之后又用一些“不同的方式”来运行它,比如通过快捷方式、定时任务或者命令行脚本等等。

如果你对你的脚本运行情况不太明白,可以试着把下面这段代码复制粘贴到你脚本的最上面,或者用这段代码替换掉你备份的脚本:

import sys
import os

print "argv: %r"%(sys.argv,)
print "dirname(argv[0]): %s"%os.path.abspath(os.path.expanduser(os.path.dirname(sys.argv[0])))
print "pwd: %s"%os.path.abspath(os.path.expanduser(os.path.curdir))
2

我看到的错误是,你需要检查一下你执行这个脚本的目录路径,因为日志文件 logging.log 就是在那个地方创建的。

比如说:$ python ~/PYTHON/untitled0.py

$ cat logging.log

而不是

cat ~/PYTHON/logging.log

撰写回答