我正在尝试从给定的python模块创建所选函数的列表。 这是我尝试过的输出示例脚本:
import os
def getfuncts(modyule):
return (dir(modyule))
def pull_function(modyule):
highgrade = []
l = getfuncts(modyule)
for func in l:
if func[0].isalnum() and func[0].islower():
highgrade += func
print (l)
print (highgrade)
pull_function(os)
l = ['EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST', …]
highgrade = ['a', 'b', 'o', 'r', 't', 'a', 'c', 'c', 'e', 's', 's',…]
Q1。为什么高级输出列表会分成这样的单个字符?
Q2。如何获取函数名列表(即[abort,access,...])?
答案 0 :(得分:0)
您将一次添加一个字符到以下行中的highgrade
列表:
`highgrade += func`
非常确定你可以在一行中完成你想要的东西:
print([l for l in dir(os) if l[0].isalnum() and l[0].islower()])
给出:
['abc', 'abort', 'access', 'altsep', 'chdir', ...
答案 1 :(得分:0)
highgrade += func
表示highgrade.extend(func)
,并期望func
是可迭代的。这里,func
是一个字符串,因此extend遍历其字符并将每个字符附加到highgrade
列表。
你想要的是:
highgrade.append(func)
追加每个字符串。