如何修改python脚本尝试写入日志的默认位置

时间:2015-01-29 18:14:15

标签: python file-io output

在执行某些评估时,我必须在后台运行一个python脚本。但是,脚本尝试在整个过程中保存一些日志,因为我必须在没有sudo权限的机器上运行它,所以脚本不会被执行。

我认为导致问题的原因是:

parser.add_option("-L", "--logfile", dest="logfile", default=os.path.join(tempfile.gettempdir(), "log-name.log"), help="log messages to LOGFILE [default: %default]", metavar="LOGFILE")

我想我需要更改默认位置:default=os.path.join(tempfile.gettempdir(), "log-name.log")。如何使其成为我的主目录中的文件夹的输出路径。在那里,我不会得到任何与特权升级相关的问题。

2 个答案:

答案 0 :(得分:0)

我想你可以这样做:

_OUTPATH = 'Users/username/logs'
...
parser.add_option("-L", "--logfile", dest="logfile", default=os.path.join(_OUTPATH, "log-name.log"), help="log messages to LOGFILE [default: %default]", metavar="LOGFILE")

答案 1 :(得分:0)

从环境中提取您的主目录:

from os.path import expanduser
homedir = expanduser("~")
parser.add_option("-L", "--logfile", dest="logfile", default=os.path.join(homedir, "log-name.log"), help="log messages to LOGFILE [default: %default]", metavar="LOGFILE")

此外,您可以尝试在日志文件的名称中添加时间戳,这样您就不会因意外而覆盖现有日志。