我得到如下回溯:
expected an indented block col += 1" and "IOError: [Errno 13] Permission denied"
取决于我如何使用此代码。谁能看到任何明显的缺陷/改进?我正在尝试从软件程序中获取一些输出结果(步骤1),使用excel
将输出导出到openpyxl
(步骤2)
import Library
import glob
from openpyxl import load_workbook
wb = load_workbook(filename ='xxxxxx')
ws3 = wb.create_sheet('New results')
ws3['B1'] = 'Heading'
ws3['B2'] = 'Heading'
ws3['C2'] = 'Heading'
ws3.cell(1, 3, 30)
row = 3
#Step 1: go through all files in directory and get required output from each file
files=glob.glob('.ext')
for i,f in enumerate(files) :
m = Library.Model(f)
frame = m['SoftwareModelComponent']
TimeResult = frame.some call for resultxxxx
DistResult = frame.some call for resultxxxx
#Step 2: send output to excel file located in same directory
for fileName in glob.glob('.ext'):
col = 0
with open(fileName, 'r') as f:
for line in f:
try:
ws3.cell(i+row, 0, f)
ws3.cell(i+row, 1+col, TimeResult)
ws3.cell(i+row, 1+col, DistResult)
except ValueError:
print('Error')
col += 1
row += 1
wb.save('G:\\path')
wb.close('G:\\path')
答案 0 :(得分:0)
“权限被拒绝”错误可能意味着您或您的程序无权在特定文件夹中写入(或读取)。 因此,当您运行该行时:
$con = Conversation::with(['messages', 'messages.sms_status'])->paginate(15);
确认此文件夹已以书面形式打开。
希望是有帮助的。
答案 1 :(得分:0)
当您在代码中使用的文件被打开,正在被其他程序/软件使用或被其他程序/软件使用时,会出现“权限被拒绝”错误。您应该通过查看计算机上的进程来验证这一点,并找出可能使用文件(扩展名为* .ext)的文件并在运行程序之前将其终止。
对于缩进错误,您应该在col1
块内增加try
。该块控制着其上方的for
循环执行。将col1
放置在此块之外时,您将违反Python中的缩进规则,因为col1+=1
在for
循环的控制流之外,并且没有意义:
try:
ws3.cell(i+row, 0, f)
ws3.cell(i+row, 1+col, TimeResult)
ws3.cell(i+row, 1+col, DistResult)
col +=1