Monkeypatch python的解析

时间:2017-12-03 14:48:01

标签: python python-3.x sympy

大家好,

我正在使用sympy进行研究,发现自己经常写Integer(1) / k之类的东西(实际上,这已经是Integer(1) / Integer(k)的简化)。

我想知道是否会有一种方式来解决这个问题" monkeypatch" python的默认整数类与sympy中的一个,所以我可以写1 / k

我尝试重载__builtins__.int,但它不会改变我想要的内容,只会更改int(4)之类的调用(此外还有一个最大的递归问题,因为sympy的Integer类使用int,但这是不同的。)

是否有一种简单的方法(比如没有C代码)来改变python解析代码的方式?

非常感谢提前:)

1 个答案:

答案 0 :(得分:1)

这似乎很难在不打破其他一切的情况下做到。您看到的最大递归问题是第一个症状。

我建议采用更简单的方法:运行

eg: A1 green, A2 green, A3 red, B1 green, B2 red, ..., C3 green

作为你在文件/库中做的第一件事,然后你可以改为调用

pipeline {
    agent {label 'master'}     
     stages {            
        stage('A1') { 
            agent {label 'Node1'} 
            steps {
                sh 'binA'
            }
        }
        stage('A2') {
            agent {label 'Node1'}
            steps {
                sh 'binB' // If this bin fails, all following stages are skipped
            }
        }
// ...        
        stage('C3'){
            agent {label 'Node3'}
            steps {
                sh 'binC'
            }
        }
    }
}

写起来容易得多。