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 及其作用。
答案 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