我需要一个算法来更新输入文件,我发现我可以修改一个.py文件并在abaqus中运行它。
但是因为这个过程是自动化所必需的,所以我尝试打开一个脚本并在abaqus中运行它
我尝试过这个: os.system('abaqus cae script=C:\Users\Samuel\abaqus-1\script1.py')
import os
import subprocess
HERE = os.path.dirname(os.path.abspath(__file__))
def create_script(name):
path = os.path.join(HERE, 'abaqus-1', name)
return path
name = 'script1.py'
script_path = create_script(name)
print (script_path)
args = ['abaqus', 'cae', 'script={0}'.format(script_path)]
print (args)
p = subprocess.Popen(args) # Success!
print(p.communicate()) 这在cmd dos窗口上工作,但在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发布于 2016-10-13 04:41:17
也许这句话是不正确的-
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。
https://stackoverflow.com/questions/39399635
复制相似问题