Python属性错误:'元组'对象没有属性' AF_APPLETALK'

时间:2017-07-24 05:58:34

标签: python

import socket
def get_protnumber(prefix): 
    for a in dir(socket):
        if a.startswith(prefix):
            getattr((socket, a), a)


get_protnumber('AF_')

当我运行此代码时,它给了我这个错误:

AttributeError: 'tuple' object has no attribute 'AF_APPLETALK'

有人可以解释一下是什么错。 如何使用函数 getattr 及其作用。

1 个答案:

答案 0 :(得分:0)

文档字符串:   getattr(object,name [,default]) - >值

getattr((socket, a), a)将其替换为getattr(socket, a, a)

import socket
def get_protnumber(prefix): 
    for a in dir(socket):
        if a.startswith(prefix):
            getattr(socket, a, a)

get_protnumber('AF_')

5
18
8
20
3
31
7
12
19
2
10
4
23
15
26
13
16
6
17
24
11
16
14
22
30
1
0
25
9