-1

我为我正在使用的应用程序借了一个 python 插件。该插件有些过时,因为脚本中使用的方法已更改,我想尝试弄清楚如何编辑脚本并对方法和功能进行适当的更新。脚本中使用了 4 个模块,我不知道哪一个包含该方法及其所有功能

基本上我有这样的一行:

layerEPSG = layer.srs().epsg()
projectEPSG = self.canvas.mapRenderer().destinationSrs().epsg()

srs()方法已更改为crs(),并且一些函数名称也已更改(但仍然执行相同的操作)。epsg()我想以某种方式列出它们,看看是否有新名称destinationSrs()

这在我看来是有道理的,但我对模块、类、方法、函数如何协同工作没有完全理解。这是一个需要了解更多信息的项目。

任何帮助表示赞赏,迈克

4

2 回答 2

2

你可以用它dir()来发现模块的结构

import layers
# print out the items in the module layers
print dir(layers)
print

x = layer.crs()
# print out the type that crs() returns
print type(x)
# print out the methods on the type returned by crs()
print dir(x)

或者您可以打开模块并阅读其代码。

于 2013-04-11T20:25:03.863 回答
1

您还可以使用help()来提供有关类或模块的更多信息。举个例子:

>>> class Fantasy():
...     def womble(self):
...         print('I am a womble!')
...     def dragon(self):
...         """ Make the Dragon roar! """
...         print('I am a dragon...ROAR!')
...
>>> help(Fantasy)
Help on class Fantasy in module __main__:

class Fantasy(builtins.object)
 |  Methods defined here:
 |
 |  dragon(self)
 |      Make the Dragon roar!
 |
 |  womble(self)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables (if defined)
 |
 |  __weakref__
 |      list of weak references to the object (if defined)

当然,如果类/模块中有文档字符串,这会更有用。

于 2013-04-11T21:01:36.683 回答