使用 PyROOT 循环绘制多个文件夹的直方图

问题描述 投票:0回答:1

我想问一下如何解决lxplus(ssh服务器)上我的pyROOT代码中的这个错误: 这是两个代码部分:

def mkdir_p(path):
    #print "Making dir: ", path
    try:
        os.makedirs(path)
    except OSError as exc:  
        #print("OS error: {0}".format(exc))
        if exc.errno != errno.EEXIST:
          raise
        pass   
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        #possibly handle other errno cases here, otherwise finally:
        else:
            raise Exception('Unknown exception')

def loop2Dir(hist1,hist2,spec1,spec2,n,opath=""):
    if hist1.IsA().InheritsFrom("TDirectoryFile") == True:
        opath = opath +"/"+hist2.GetName()
        mkdir_p(opath)
        a=0
        dic={}
        for key in hist2.GetListOfKeys():
            dic[key.GetName()]=key

这是 lxplus(ssh 服务器)上的输出错误:

Traceback (most recent call last):
  File "code_name.py", line 309, in <module>
    loop2Dir(obj1,obj2,specific,specific2,n,output_path_op)
  File "code_name.py", line 178, in loop2Dir
    loop2Dir(obj1,obj2,spec1,spec2,opath)
  File "code_name.py", line 178, in loop2Dir
    loop2Dir(obj1,obj2,spec1,spec2,opath)
  File "code_name.py", line 164, in loop2Dir
    mkdir_p(opath)
  File "code_name.py", line 9, in mkdir_p
    os.makedirs(path)
  File "/usr/lib64/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/DiTauHLT_Efficiency'

任何反馈都是有用的,提前致谢。

迄今为止,我的代码只能创建 1 个目录,然后错误出现在输出中。 我正在尝试让我的代码分析源路径中的 211 个文件夹,以便从多个 .root 文件绘制直方图

python ssh root-framework pyroot
1个回答
0
投票

问题似乎出在目录创建权限上。尝试检查您是否拥有必要的权限

© www.soinside.com 2019 - 2024. All rights reserved.