Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
交互python和abaqus_Python_Abaqus - Fatal编程技术网

交互python和abaqus

交互python和abaqus,python,abaqus,Python,Abaqus,我需要一个更新输入文件的算法,我发现我可以修改一个.py文件并在abaqus中运行它 但是由于这个过程是自动化所必需的,所以我尝试打开一个脚本并在abaqus中运行它 我尝试了以下方法:os.system('abaqus cae script=C:\Users\Samuel\abaqus-1\script1.py') 这可以在cmd dos windows上运行,但不能在python上运行,如果有人能帮助我,我将不胜感激 错误 ['abaqus', 'cae', 'script=C:\\User

我需要一个更新输入文件的算法,我发现我可以修改一个.py文件并在abaqus中运行它

但是由于这个过程是自动化所必需的,所以我尝试打开一个脚本并在abaqus中运行它

我尝试了以下方法:os.system('abaqus cae script=C:\Users\Samuel\abaqus-1\script1.py')

这可以在cmd dos windows上运行,但不能在python上运行,如果有人能帮助我,我将不胜感激

错误

['abaqus', 'cae', 'script=C:\\Users\\Samuel\\abaqus-1\\script1.py']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Samuel\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 714, in runfile
    execfile(filename, namespace)
  File "C:\Users\Samuel\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 89, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)
  File "C:/Users/Samuel/prueba control.py", line 28, in <module>
    p = subprocess.Popen(args) # Success!
  File "C:\Users\Samuel\Anaconda3\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Samuel\Anaconda3\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
['abaqus',cae','script=C:\\Users\\Samuel\\abaqus-1\\script1.py']
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Users\Samuel\Anaconda3\lib\site packages\spyderlib\widgets\externalshell\sitecustomize.py”,第714行,在runfile中
execfile(文件名、命名空间)
文件“C:\Users\Samuel\Anaconda3\lib\site packages\spyderlib\widgets\externalshell\sitecustomize.py”,第89行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/Samuel/prueba control.py”,第28行,在
p=子流程.Popen(args)#成功!
文件“C:\Users\Samuel\Anaconda3\lib\subprocess.py”,第947行,在\uuu init中__
恢复信号,启动新会话)
文件“C:\Users\Samuel\Anaconda3\lib\subprocess.py”,第1224行,在执行子进程中
startupinfo)
FileNotFoundError:[WinError 2]系统找不到指定的文件

也许这句话不正确-

os.system('abaqus cae script=C:\Users\Samuel\abaqus-1\script1.py')
您必须使用命令在Abaqus中运行python脚本

abaqus cae noGUI=nameOfScript.py
所以在你的情况下

os.system('abaqus cae noGUI=C:\\Users\\Samuel\\abaqus-1\\script1.py')

我对“\”不太确定,因为我通常在存放python脚本的同一文件夹中打开abaqus

首先,您需要发布为什么它不能在python上工作。“不工作”是一个非常糟糕的错误描述。也许可以看看子流程:您可以尝试
noGUI=script.py
,但真正的“不工作”太模糊了,您需要传递启动的二进制文件的完整路径。因为您不是通过shell运行它,所以不能依赖shell功能在PATH环境变量中查找二进制文件。noGUI会生成相同的错误
os.system('abaqus cae noGUI=C:\\Users\\Samuel\\abaqus-1\\script1.py')