尝试,例外:传递多行

2024-09-28 04:20:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个名为Abaqus的程序编写另一个脚本,它在图表上绘制XY数据。。。。我的脚本的一部分会根据是否命名为特定的名称来更改线条样式。。。。在

所以我有一堆不同的曲线名,如果图表包含那个特定的名称,我想执行代码来改变样式。。。例如。。。在

    session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(show=True)
    session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(marker=FILLED_DIAMOND)
    session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(size=2)
    session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(color='#009afb')
    session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(show=True)
    session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(marker=FILLED_DIAMOND)
    session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(size=2)
    session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(color='#009afb')
    session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(show=True)
    session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(marker=FILLED_DIAMOND)
    session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(size=2)
    session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(color='#009afb')   
    session.curves[PathNameNew+'_S205-18'].lineStyle.setValues(thickness=1)

我有大约50个不同的曲线名称和不同的风格,但不是所有的曲线都会被使用,所以我想尝试一下,除外:通过方法为了达到这个目的。。。但是,这意味着我必须对每个曲线名都这样做。。。在

有更好的方法吗?在


Tags: 名称truereleasesessionshow曲线markerdiamond
2条回答

构建元组列表,每个元组包含两个元素-曲线名称和参数dict,如下所示:

[('somename',{'color':'blue', 'marker':FILLED_DIAMOND})...]

然后,作为上面的列表,执行以下操作:

^{pr2}$

您可以始终使用一个闭包函数来完成:

def my_big_function():
    ...
    def set_symbolstyle_value(key, **kwargs):
        try:
            session.curves[PathNameNew + key].symbolStyle.setValues(**kwargs)
        except MyException:
            do_something()

    set_symbolstyle_value('_S201-16', show=True)
    set_symbolstyle_value('_S201-16', marker=FILLED_DIAMOND)
    ...

功能很便宜。不要害怕使用它们。

相关问题 更多 >

    热门问题