使用abaqus将变量传递给python脚本文件python 2.6.2

问题描述:

我试图通过命令行将变量传递给abaqus脚本文件(.psf)。每次执行另一个脚本时都会执行命令行调用,并且每次调用中的变量都有不同的值。在这方面,我可以在使用的命令语法方面提供帮助。我试过os.systemsubprocess.Popen,都出现了某种错误。使用abaqus将变量传递给python脚本文件python 2.6.2

在我的主要脚本(.py文件),它会调用.psf

Xa=150000 
abaqusCall = 'abaqus script=tt_Par.psf' 
runCommand = 'cmd.exe /c ' + abaqusCall 
process = subprocess.Popen(runCommand, cwd=workDir, args=Xa) 

和.psf

它接受变量这种格式..

import sys,os 
    for item in sys.argv 
     x1 = sys.argv[0] 
     x2 = sys.argv[1] 
     print x1,x2 

谁能给在这方面的方向?

谢谢你提前

试试这个。我不知道psf文件是什么,但我只是使用py文件。

def abaqus_cmd(mycmd): 
    ''' 
    used to execute abaqus commands in the windows OS console 
    inputs : mycmd, an abaqus command 
    ''' 
    import subprocess, sys 
    try: 
     retcode = subprocess.call(mycmd,shell=True) 
     if retcode < 0: 
      print >>sys.stderr, mycmd+"...failed during execution", -retcode 
     else: 
      print >>sys.stderr, mycmd+"...success" 
    except OSError as e: 
     print >>sys.stderr, mycmd+"...failed at execution", e 

运行一个简单的命令来完成这一

abaqus_cmd('abaqus fetch job=beamExample') 

传递变量,但是你可以做到这一点

odbfile = 'test.odb' 
abaqus_cmd('abaqus python odb_to_txt.py '+odbfile) 

,这仅仅是在ABAQUS一个Python实例,你不能访问这里是abaqus的核心。要访问abaqus核心,您需要像这样运行脚本。

abaqus_cmd('abaqus cae noGUI=beamExample.py') 

I HAVE NOT 想出如何变量传递到在ABAQUS内核脚本,请参阅我的评论

+0

还检查了http://stackoverflow.com/questions/22750272/can-i-传递命令行-参数到ABAQUS-蟒?全息= 1#28773379 – nagordon