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

python运行没有图_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进程的实例堵塞.这些可以通过运行salome安装文件夹中的killSalome.py手动杀死.但要小心!这将杀死计算机上运行的所有salome实例!如果您一次运行多个模型生成脚本或者您还打开了salome GUI,这将是一个问题.

显然,更好的方法是让您的脚本在使用后杀死salome的每个特定实例.以下是一种方法(可执行文件的确切路径等需要根据您的安装进行更改):

# 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 os命令.

编辑2:我最近发现,当端口日志文件(此处为“salomePort.txt”但可以任意命名)仅给出其相对路径时,会遇到此方法的问题.它似乎以其完整的绝对路径赋予它是必要的.

 类似资料: