擅长:python、mysql、java
<p>最后,我将dir方法与getattr/setattr一起使用<br/>
在类中实现一个<code>update</code>方法,如GG\<Python<br/>
看起来像这样:</p>
<pre><code> def update(self,newPackage):
newPackageAttributes = [a for a in dir(newPackage) if not a.startswith('__')]
for key in newPackageAttributes:
try:
if getattr(self,key) != getattr(newPackage, key) \
and key != 'id'\
and key != 'name':
if type(getattr(newPackage, key)) == str:
setattr(self,key,getattr(newPackage, key))
except AttributeError:
app.logger.debug("attribute not found, no pb")
self.lastUpdate = datetime.utcnow()
</code></pre>
<p>这样我就不更新InstanceState等了,<br/>
我可以在以后添加一些检查(例如名称应该相同等等)<br/>
在解析包的方法上给了我这样的信息:</p>
^{pr2}$
<p>谢谢你的建议</p>