我想为 Abaqus 创建一个 Python 脚本,其中将使用 Scipy 库。不幸的是,Abaqus 没有那个库。它可以安装,但我想以不同的方式进行。
我的想法是编写一个接受参数的函数,将其传递给在 Abaqus 外部打开的新 Python 解释器,然后将输出返回到我的文件。
我很确定它可能会完成,但我仍在学习 Python。请给我任何可以用来解决问题的提示。
为了实现你想要的,你需要启动一个后台进程,它将执行一个 Python 脚本。这可以通过内置subprocess
模块在 Python 中完成。
在最简单的情况下,您将编写如下内容:
import subprocess
process = subprocess.Popen(['python', 'your_script_name.py'])
process.wait() # If you want to stop caller until callee terminates
也可以检索子进程返回的结果,但您可以在其他线程中阅读更多信息:
请注意,在某些情况下,有必要os.environ
通过删除 Abaqus 特定的环境变量来修改包含环境变量 ( ) 的字典的内容。否则,启动子流程会出现一些问题。
如果您确实想将修改后的环境传递给新进程,请Popen
使用参数env
.