abaqus python 读取文件_利用Python修改Abaqus的inp文件(关键字)

利用Python修改Abaqus的inp文件(关键字)

Abaqus的关键字可以直接打开inp文件或者在Abaqus的key

word里面直接修改,当然除了这个,还可以利用Python语言进行修改,也算是比较有趣的方式。

在文件夹下有一个job-1的inp文件,想通过python对其中部分进行修改,inp文件一共有821行,如图1所示,准备修改其中的*Material,

name=Material-1”行为”*Material,

name=Material-2”,并且在后面插入一行“**insert

lines“。

图1

实现这个过程通过先读取再赋值后输出的方式完成,主要过程如下:

读取inp文件:

#打开文件夹下的job-1.inp文件,通过open函数,并赋值给变量inpfile。

inpfile=open("E:\CAE_Tech\process_files\AbaqusFiles\job-1.inp")

#利用readlines函数读取inpfile的所有内容。

lines=inpfile. readlines()

#关闭打开的文件,释放资源。

inpfile.close()

#定义俩变量,要替换的内容和替换后的内容。这里特别需要注意,每一行字符串后面需要带换行符\n。

originstr="*Material,

name=Material-1\n"

newstr="*Material,

name=Material-2\n"

#找到在lines中originstr所在行的index。通过index函数。

strindex=lines.index(originstr)

#将列表lines的该行置换为newstr.

lines[strindex]=newstr

#在该行后面增加一行,即index需要增加1.

lines.insert(strindex+1,"**insert

lines\n")

#修改完毕,输出为新的inp文件

newfile=open("E:\CAE_Tech\process_files\AbaqusFiles\job-1-new.inp","w")

#输出lines

for newline in lines:

newfile.write(newline)

#关闭文件

newfile.close()

最终在文件夹下生成一个新的inp文件,名字为job-1-new.inp.如图2所示,注释部分修改过来了。

图2

完整的代码过程:

inpfile=open("E:\CAE_Tech\process_files\AbaqusFiles\job-1.inp")

lines=inpfile.readlines()

inpfile.close()

originstr="*Material, name=Material-1\n"

newstr="*Material, name=Material-2\n"

strindex=lines.index(originstr)

lines[strindex]=newstr

lines.insert(strindex+1,"**insert lines\n")

newfile=open("E:\CAE_Tech\process_files\AbaqusFiles\job-1-new.inp","w")

for newline in lines:

newfile.write(newline)

newfile.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值