ABAQUS(Python语言)二次开发人生苦短,我用Python作者:Fan ShengbaoPython2.712月目 录第一章 Python程序基本语法 11.1 Python语法结构 11.2 Python元组 11.3 Python列表 11.4 Python字典 21.5 Python集合 31.6 Python字符串 31.7 Python分支语句 41.8 Python循环语句 51.8.1 for循环 51.8.2 while循环 51.9 Python定义函数 51.10 Python模块 61.11 Python包 71.12 Python文件和目录 71.12.1 目录操作 71.12.2 文件操作 71.13 Python异常处理 8第二章 ABAQUS/Python二次开发 92.1 ABAQUS执行Python程序 92.2 编写ABAQUS/Python程序 102.3 ABAQUS录制Python程序 102.4 ABAQUS/Python对象介绍 112.4.1 session对象 112.4.2 mdb对象 112.4.3 odb对象 132.5 ABAQUS完整二次开发示例 142.6 ABAQUS二次开发常用函数 162.6.1 Part模块常用函数 16第一章 Python程序基本语法1.1 Python语法构造Python语言以缩进来约束每个程序块,编写程序时要特别注意每一行的缩进量,同一层次的语句应具有相似的缩进量。
下面是一段Python程序示例:#-*- coding:utf-8 -*-for i in range(1,10): for j in range(1,i+1): print str(j)+'x'+str(i)+' = '+str(i*j), print 该段程序重要功能是实现乘法口诀表输出打印,其中“#-*- coding:utf-8 -*-”是商定文档的编码方式程序主体部分由两个嵌套的for循环语句构成,可以看到每一种for循环块的内部都具有相似的缩进量程序输出成果如下:1x1=11x2=2 2x2=41x3=3 2x3=6 3x3=91x4=4 2x4=8 3x4=12 4x4=161x5=5 2x5=10 3x5=15 4x5=20 5x5=251x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=361x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=491x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=641x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81Python程序中一行中“#”号背面的内容为注释,“#”号只支持单行注释,多行注释可使用“’’’ … ‘’’”注释符。
''' Abaqus6.14 Python'''1.2 Python元组Python中的元组(tuple)相称于C语言中的数组简化版,其内容和长度均不可变,只能对其内容进行访问tt1 = (1,2,3,4,5)print tt1[1]程序执行成果:21.3 Python列表Python中的列表(list)相称于C语言中的数组,但比C语言中的数组使用起来更加以便灵活其长度和内容均可修改,列表是编程时使用较多的构造list1 = [1,2,3,4,5]print list1[1]list1[1] = 5print list1list1.append(6)print list1程序执行成果:2[1, 5, 3, 4, 5][1, 5, 3, 4, 5, 6]Python列表常用操作措施:表 11 Python列表常用操作措施操作措施功能list1.append()list1.append(1) 在列表末尾追加元素list1.extend()list1.extend([7,8,9]) 合并两个列表list1.insert()list1.insert(2, ’1’) 在列表指定位置插入元素list1.pop()list1.pop(n) 输出并删除指定位置的元素,不指定n值时则弹出末尾元素list1.index()list1.index(5) 在列表中搜索该元素第一次浮现的位置list1.count()list1.count(1) 在列表中搜索该元素浮现的次数list1.reverse()list1.reverse() 反转列表排序,也可使用list1[::-1]list1.sort()list1.sort() 对列表进行排序对列表进行切片操作(元组也能进行相应的操作):list1 = [1,2,'3','a','b',5]print list1[2:4]print list1[2:]print list1[1::2]print list1[:-2]输出成果:['3', 'a']['3', 'a', 'b', 5][2, 'a', 5][1, 2, '3', 'a']1.4 Python字典Python中的字典(dict)对于存储数据非常有用,其存储的数据是无序的,每一种键相应着一种键值,是一种映射型数据类型。
dict1 = {'author':'Fan Shengbao','software':'Abaqus'}dict1['data'] = '' #添加一种字典元素print dict1['software'] #打印‘software’键的键值print dict1.keys() #打印所有键print dict1.values() #打印所有的键值print dict1.items() #打印所有键及其键值程序输出成果:Abaqus['software', 'Data', 'author']['Abaqus', '', 'Fan Shengbao'][('software','Abaqus'),('Data',''),('author','Fan Shengbao')]从打印的成果可以看出,字典的存储是无顺序的获取字典键值需通过键来访问,键是唯一的,多种键可以相应相似的内容1.5 Python集合Python中集合(set)的概念来源于数学在的集合,集合中的每个元素都是唯一存在,多次添加同一元素只存在一种集合区别于列表和元组,其不能通过下表进行访问,但可以将其转换位列表后再进行其她操作。
set1 = set('abcde')print set1set1.add('f') #添加’f’元素set1.add('b') #添加’b’元素print set1print list(set1)输出成果:set(['a', 'c', 'b', 'e', 'd'])set(['a', 'c', 'b', 'e', 'd', 'f'])['a', 'c', 'b', 'e', 'd', 'f']Python中集合常用操作措施:表12 Python中集合常用操作措施操作措施功能list1 – list2list1与list2的差集list1 & list2list1与list2的交集list1 | list2list1与list2的并集list1.add()list1.add(‘a’)向list1中添加一种元素list1.updata()list1.updata([1,2,3])向list1中添加多种元素list1.remove()list1.remove(‘a’)移除list1中的’a’元素1.6 Python字符串Python中的字符串是一种只能访问的数据类型,定义之后不能对其内容进行修改,否则程序将抛出异常。
str1 = 'Abaqus 6.14 Python'print str1[0:6]print str1.center(30,'-')程序运营成果:Abaqus------Abaqus 6.14 Python------Python字符串常用操作措施:表13 Python字符串常用操作措施操作措施功能str1.find()str1.find(substr,start,end) 从str1中搜索substr,不指定start和end时指搜索整个字符串,可以只单独指定startstr1.count()str1.count(substr,start,end) 获取字符浮现次数str1.startswith()str1.startswith(str) 与否以str开始str1.endswith()str1.endswith(str) 与否以str结尾str1.center()str1.center(n,char) 以str1为中心获取n个字符,不够部分使用char填充str1.ljust()str1.ljust(n,char) 以str1为左对齐获取n个字符,不够部分使用char填充str1.rjust()str1.rjust(n,char) 以str1为右对齐获取n个字符,不够部分使用char填充str1.upper()将str1所有转换为大写str1.lower()将str1所有转换为小写str1.replace()str1.replace(old,new,count) count为替代次数,若省略只替代一次str1.strip()str1.strip(char) 清除str1前后的char,若省略则清除前后空格str1.split()str1.split(sep,maxcount) 以sep分割字符串,maxcount为最大分割次数(可省略),省略sep则使用空格进行分割1.7 Python分支语句if分支语句有如下三种基本形式,可根据不同状况选用不同的形式,使用时需替代pass占位语句:形式一形式二形式三if condition: passif condition: passelse: passif condition1: passelif condition2: passelse: pass1.8 Python循环语句Python编程语言只涉及两种循环构造,分别是for循环和while循环。
for循环要比while循环使用更加频繁1.8.1 for循环1) for循环主体构造:for i in range(1,10): passelse: pass其中pass为占位符,else可省略,else只有在for循环不是由break中断的状况下才会执行else下的语句2) for循环可遍历元组、列表和字符串:for i in [1,2,3,4,5]: p。