加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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'

我已经检查了特定文件夹中我要创建日志但仍然收到错误的权限.
我的代码是:(名称是mainLCF.py)

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读