模块无法识别索引变量

时间:2018-03-14 03:36:17

标签: python-3.x function module attributeerror iterable

  

我想返回给定模块中每个函数的帮助文本(例如os)。下面的代码(代码块A)返回以下错误:

     

AttributeError:模块'os'没有属性'i'

D:\Web_HomeOWN\images\pages\404-page\bg-construct-image.jpg
  

如果我运行下面的代码(代码块B),则在for循环的每一步返回第i个位置的函数名。

D:\Web_HomeOWN\Index.html

Q1。为什么索引变量在代码块A“help(os.i)”中被识别为“i”,而不是在代码块B中“print(i)?”

Q2。有没有办法将迭代中的每个项目作为函数(类似于代码块A)调用给定模块?

  

提前感谢任何见解或建议。

1 个答案:

答案 0 :(得分:0)

在python中有一些情况,其中i变量否则将表示可迭代,而是被视为字符串文字“i”。在这些情况下,最好通过将iterable(由i表示)强制转换为字符串添加到您尝试将其添加到的任何其他内容来构建字符串。然后,您只需根据需要将整个字符串输入函数。

在您的特定情况下:

for i in dir(os):
    s = "os." + str(i)
    print(help(s))