以下是错误(以代码格式):
File "/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/python/2.7.11-oenich2/lib/python2.7/shutil.py", line 119, in copy
copyfile(src, dst)
File "/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/python/2.7.11-oenich2/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 2] No such file or directory: ' ./submit_z_/eraB'
请注意,“/submit\u z\u/eraB”目录已经存在,也就是说,在其中复制显然有问题。你知道吗
我有一个不同的代码,做几乎相同的工作,但没有'listdir',它的工作很好。你知道吗
下面是产生上述错误的代码:
#!/usr/bin/env python
import sys
import getpass
user = getpass.getuser()
prefix = "data"
Appendix = "latest"
OutPath = "/%s/" % (sys.argv[2])
import os
from os import listdir
jsons = {"All":"/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/ReReco/Final/Cert_271036-284044_13TeV_23Sep2016ReReco_Collisions16_JSON.txt"}
dir="/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions16/13TeV/Era/ReReco/"
for f in listdir(dir):
era = f.split("_")[-1].split(".")[0]
jsons[era] = dir+f
workingdir = sys.argv[1]
while os.path.isdir( "./%s" % (workingdir) ):
workingdir += "_"
os.mkdir( workingdir )
from subprocess import call
call(["voms-proxy-init" , "--out" , "/tmp/.x509up_u%d" % (os.getuid()) , "--voms" , "cms" , "--valid" , "1000:0"])
file_sh = open ("%s/Submit.sh" % (workingdir), "w")
import shutil
from shutil import copyfile
for era in jsons:
if not era.count("eraB"):
continue
print ("cp produceDataPU.sh" + " ./%s/%s" % (workingdir,era))
shutil.copyfile( "produceDataPU.sh" , " ./%s/%s" % (workingdir,era) )
file = open ("%s/%s/Submit.cmd" % (workingdir, era), "w")
print >> file, "executable = %s/%s/%s/ProduceDataPU.sh" % (os.getcwd() , workingdir , era)
print >> file, "output = $(ClusterId)_$(ProcId).out"
print >> file, "error = $(ClusterId)_$(ProcId).err"
print >> file, "log = $(ClusterId)_$(ProcId).log"
print >> file, '+JobFlavour = "tomorrow"'
print >> file, "environment = CONDORJOBID=$(ProcId)"
print >> file, "notification = Error"
print >> file, ""
print >> file, "arguments = %(JSON)s %(Appendix)s " % {
"JSON":"%s/JSON.text" % (workingdir) ,
"Appendix":Appendix
print >> file, "queue %d" % (len(era))
print >> file, ""
file.close()
print >> file_sh, "cd %s" % (era)
print >> file_sh, "condor_submit -batch-name %s Submit.cmd" % (era)
print >> file_sh, "cd .."
print "to submit the jobs, you have to run the following commands :"
print "cd %s" % (workingdir)
print "source Submit.sh"
file_sh.close()
您传递的目标文件名中有一个前导空格
这可能会混淆
shutil.copyfile
(在一个快速的本地测试中,给出您看到的错误)。你知道吗你能试一下吗
什么?你知道吗
相关问题 更多 >
编程相关推荐