python日志记录不适用于终端

时间:2012-02-07 17:14:35

标签: python logging

我试图在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 :(得分:2)

我在这里看到的错误是你必须检查执行此脚本的目录路径,因为在那里创建了logging.log。

例如:$ python ~/PYTHON/untitled0.py

$ cat logging.log

而不是

cat ~/PYTHON/logging.log

答案 1 :(得分:0)

当人们编写脚本然后以某种“不同的方式”(例如快捷方式图标,调度程序,shell脚本等)开始调用它时,这似乎是一个常见的错误。

如果您不清楚脚本发生了什么,请尝试将其剪切并粘贴到脚本顶部或用此源替换(备份)脚本:

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))