>>> pdb.gimp_file_load.nparams
3
>>> pprint.pprint(pdb.gimp_file_load.params)
((0,
'run-mode',
'The run mode { RUN-INTERACTIVE (0), RUN-NONINTERACTIVE (1) }'),
(4, 'filename', 'The name of the file to load'),
(4, 'raw-filename', 'The name as entered by the user'))
>>> fname = 'a filename'
>>> img = pdb.gimp_file_load(gimpfu.RUN_NONINTERACTIVE, fname, fname)
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: wrong number of parameters
那么,我在这里做错了什么?根据方法本身,它需要三个有据可查的论据。我将它想要的三件事传递给它,然后我收到一个TypeError
. 所以:
- 我究竟做错了什么?
- 有这方面的参考手册吗?
在参数的元组中,有一个 0、一个 4 和一个 4。这些魔法常数是什么?根据文档,这些似乎是:
参数类型(PARAM_* 常量之一)
但是在这些文档中我找不到
PARAM_
常量,而且我没有发现它们自省 pdb、gimp 或 gimpfu 中的任何一个。
只是为了完整:显而易见的help(pdb.gimp_file_load)
, 并没有那么有帮助:
>>> help(pdb.gimp_file_load)
Help on PDBFunction object:
class PDBFunction(__builtin__.object)
| Methods defined here:
|
| __call__(...)
| x.__call__(...) <==> x(...)
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| nparams
|
| nreturn_vals
|
| params
|
| proc_author
|
| proc_blurb
|
| proc_copyright
|
| proc_date
|
| proc_help
|
| proc_name
|
| proc_type
|
| return_vals
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T