鱼C论坛

 找回密码
 立即注册
查看: 1187|回复: 4

IndentationError: unexpected indent 求助

[复制链接]
发表于 2020-2-2 17:32:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-2-2 22:34 编辑

代码如下:
# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import os
import sys
import openpyxl
# 建立一个excel文档,并命名第一个工作簿
# 开始遍历文档,找odb文件
wb = openpyxl.Workbook()
ws = wb.active
# 命名第一个文件簿的表头
a = ws.cell('A1')
a.value = 'name'
a = ws.cell('A2')
a.value = 'max_F'
row = 0
column = 1
column_store = column
# 以odb名字所在的表格为每一次复制的基准点,存储其位置,以每一次循环复位
for root, dirs, files in os.walk(os.curdir):
    for name in files:
        (file_name, file_backname) = os.path.splitext(name)
        if file_backname == '.odb':
            cell_filename = ws.cell(row=row, column=column)
            cell_filename.value = file_name
            cell_RF3 = cell_filename.offset(0, 1)
            filename = (os.path.join(root, name))
            # filename = 'D:/SIMULIA/Temp/get_output_experiment/30-0.odb'
            session.mdbData.summary()
            # 打开符合要求的,即在文件夹内,且后缀为'.odb'的文件
            o1 = session.openOdb(name=filename)
            session.viewports['Viewport: 1'].setValues(displayedObject=o1)
            odb = session.odbs[filename]

            # 取得所需要的RF3数据,以元素是元组的列表体现
            list1 = session.xyDataListFromField(odb=odb, outputPosition=NODAL, variable=(
                ('RF', NODAL, ((COMPONENT, 'RF3'), )), ), nodeSets=('LOAD1', ))
            for each in list1:
                for i in each:
                    a = ws.cell(row=row + 2, column=column)
                    a.value = i[0]
                    b = ws.cell(row=row + 2, column=column + 1)
                    b.value = i[1]
                    row += 1
            cell_max = cell_filename.offset(1, 1)
            alpha_to_number = openpyxl.cell.get_column_letter(column + 2)
            cell_max.value = '=max(%s:%s)' % (
                alpha_to_number + str(3), alpha_to_number + str(200))
            wb.save('C:\\Users\\DELL\\Desktop\\aaa.xlsx')
            session.odbs[filename].close()
            # 对基准点进行复位
            column_store += 2
            column = column_store
            row = 0

这是用于将有限元软件abaqus的数据导出到excel的代码,python版本是2.7.3,运行时报错如图所示,意思是37行的缩进出现了问题, 1.png
for root, dirs, files in os.walk(os.curdir):
    for name in files:
        (file_name, file_backname) = os.path.splitext(name)
我检查了一下,缩进应该是没有问题的,看网上说可能是因为tab键和空格键缩进的问题,打开notepad++查看, 1.png ,也没有出现混用的问题,特向大家求助,希望大家能提出意见!
111.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-2 17:33:30 | 显示全部楼层
报错情况是最后一张图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-2 17:58:32 | 显示全部楼层
本帖最后由 hrp 于 2020-2-2 18:09 编辑

看看有没有类似for循环没写完(写完for x xxx:后面就没了)或者漏冒号或者括号之类的问题

还有
# -*- coding: mbcs -*-
这是什么编码,会是编码问题吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-2 21:41:06 | 显示全部楼层
云云云诶 发表于 2020-2-2 17:33
报错情况是最后一张图

emmmm
遇到过这种问题,应该是Tab和缩进混了
试试把那一部分的代码重写一遍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-2 22:36:30 | 显示全部楼层
我这里试了,没看到有缩进问题。

你这 mbcs 是什么编码?将第一行换成下面的试试:
# -*- coding: utf-8 -*-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-1 21:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表