当前位置: 首页 > 工具软件 > SALOME > 使用案例 >

python运行没有图_运行没有图形的Salome脚本

佴保臣
2023-12-01

我也有类似的愿望,但经过仔细研究,我最终得出结论,我们两个都想做的事情不可能完全实现。在

为了在命令行上运行salome脚本而不使用GUI

salome -t python script.py

或者干脆

salome -t script.py

为了运行salome脚本,必须使用salome可执行文件调用它。似乎没有经过编译的程序就不能使用salome库(通过将它们导入python脚本,然后用python script.py)调用它们。salome使用的可执行文件包含了平台完成其工作所需的大部分内容。在

这让我很沮丧,但我找到了一个解决办法;举一个简单的例子,如果你有一个salome脚本,你可以从另一个python程序中调用salome可执行文件

os.system("salome -t python script.py")

但是现在有一个问题:salome不会自动终止会话,因此如果多次运行上述命令,系统将被运行salome进程的多个实例阻塞。这些可以通过运行手动杀死killSalome.py,可在salome安装文件夹中找到。但要小心!这将杀死您计算机上运行的所有salome实例!如果一次运行多个模型生成脚本,或者还打开了salomegui,这将是一个问题。在

显然,更好的方法是让脚本在salome的每个特定实例被使用后终止它。以下是一种方法(根据您的安装,需要更改可执行文件etc的确切路径):# Make a subprocess call to the salome executable and store the used port in a text file:

subprocess.call('/salomedirectory/bin/runAppli -t python script.py ns-port-log=/absolute/path/salomePort.txt', shell=True)

# Read in the port number from the text file:

port_file = open('/absolute/path/salomePort.txt','r')

killPort = int(port_file.readline())

port_file.close()

# Kill the session with the specified port:

subprocess.call('/salomedirectory/bin/salome/killSalomeWithPort.py %s' % killPort,shell=True)

编辑:python操作系统命令的错误更正。在

编辑2:我最近发现,当端口日志文件(此处为salomePort.txt版“但是可以任意命名)只给出了它的相对路径。似乎给它一个完整的、绝对的路径,这是必要的。在

 类似资料: