python – 为什么我得到IOError:[Errno 13]权限被拒绝?
发布时间:2020-12-20 13:35:08 所属栏目:Python 来源:网络整理
导读:我正在为代码创建日志文件,但是我收到以下错误: [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] import mainLCF[Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] File "/home/ai/Desktop/home/ubuntu/LCF/GA-LCF/mainLCF.py",line 10,in [T
我正在为代码创建日志文件,但是我收到以下错误:
[Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] import mainLCF [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] File "/home/ai/Desktop/home/ubuntu/LCF/GA-LCF/mainLCF.py",line 10,in [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] logging.basicConfig(filename='genetic.log',level=logging.DEBUG,format='%(asctime)s %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p') [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] File "/usr/lib/python2.7/logging/__init__.py",line 1528,in basicConfig [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] hdlr = FileHandler(filename,mode) [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] File "/usr/lib/python2.7/logging/__init__.py",line 901,in __init__ [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] StreamHandler.__init__(self,self._open()) [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] File "/usr/lib/python2.7/logging/__init__.py",line 924,in _open [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] stream = open(self.baseFilename,self.mode) [Tue Jun 11 17:22:59 2013] [error] [client 127.0.0.1] IOError: [Errno 13] Permission denied: '/genetic.log' 我已经检查了特定文件夹中我要创建日志但仍然收到错误的权限. import logging import sys logging.basicConfig(filename='genetic.log',datefmt='%m/%d/%Y %I:%M:%S %p') logging.debug("starting of Genetic Algorithm") sys.path.append("/home/ai/Desktop/home/ubuntu/LCF/ws_code") import blackboard from pyevolve import * def eval_func(chromosome): some function here 我的系统的文件结构是: / home ai Desktop home ubuntu LCF ws_code GA-LCF blackboard.py main-LCF.py 我从ws_code中的另一个函数lcf.py调用mainLCF.py. 解决方法
您需要使用logging.handlers python模块更改日志文件路径.
在我的情况下,我做了以下的事情: import logging from logging.handlers import RotatingFileHandler import blackboard WEBAPP_CONSTANTS = { 'LOGFILE': '/home/ai/Desktop/home/ubuntu/LCF/GA-LCF/ga.log',} def getWebAppConstants(constant): return WEBAPP_CONSTANTS.get(constant,False) LOGFILE = getWebAppConstants('LOGFILE') log_handler = RotatingFileHandler(LOGFILE,maxBytes=1048576,backupCount=5) log_handler.setFormatter(logging.Formatter( '%(asctime)s %(levelname)s: %(message)s ' '[in %(pathname)s:%(lineno)d]')) applogger = logging.getLogger("GA") applogger.setLevel(logging.DEBUG) applogger.addHandler(log_handler) applogger.debug("Starting of Genetic Algorithm") from pyevolve import * def eval_func(chromosome): some function here 它起作用了.但是我仍然不知道为什么它之前尝试在根目录下创建genetic.log. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |