在执行某些评估时,我必须在后台运行一个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")
。如何使其成为我的主目录中的文件夹的输出路径。在那里,我不会得到任何与特权升级相关的问题。
答案 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")
此外,您可以尝试在日志文件的名称中添加时间戳,这样您就不会因意外而覆盖现有日志。