我正在编辑 PROSS.py 以处理蛋白质结构的 .cif 文件。在现有的 PROSS.py 中,有以下函数(如果它不与任何类关联,我相信这是正确的名称?),仅存在于 .py 文件中:
...
def unpack_pdb_line(line, ATOF=_atof, ATOI=_atoi, STRIP=string.strip):
...
...
def read_pdb(f, as_protein=0, as_rna=0, as_dna=0, all_models=0,
unpack=unpack_pdb_line, atom_build=atom_build):
我正在为命令行参数添加一个 optons 解析器,其中一个选项是指定除 unpack_pdb_line 之外的备用方法。所以选项解析器的相关部分是:
...
parser.add_option("--un", dest="unpack_method", default="unpack_pdb_line", type="string", help="Unpack method to use. Default is unpack_pdb_line.")
...
unpack=options.unpack_method
但是,options.unpack_method 是一个字符串,我需要使用与 options.unpack_method 中的字符串同名的函数。如何使用 getattr 等将字符串转换为实际的函数名?
谢谢,
保罗