我正在将整体脚本分解为模块。我创建了一个名为standard_modules.py
的文件,该文件用于导入正在创建的所有模块。
然后在我正在执行的具有main()的脚本中:
from standard_modules import *
from standard_functions import *
在standard_modules.py
内,有以下一行:
from list_users import list_users
我正在使用以下方法打印我的路径:
import sys
print('\n'.join(sys.path))
在下面列出的位置,我可以看到我的模块所在的路径:
C:\Users\tdunphy\Desktop\important_folders\git\aws_scripts\python\aws_iam_utils
我已经确认我的模块文件在那里:
ls -l C:\Users\tdunphy\Desktop\important_folders\git\aws_scripts\python\aws_iam_utils\list_users.py
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/30/2019 4:30 PM 3256 list_users.py
其中具有主要功能的脚本位于同一目录中。
但是当我尝试运行list_users模块时,我的脚本找不到它:
Traceback (most recent call last):
File ".\aws_iam_utils.py", line 122, in <module>
main()
File ".\aws_iam_utils.py", line 91, in main
list_users(iam_client, aws_account, interactive)
NameError: name 'list_users' is not defined
如果我将from list_users import list_users
放入具有main()的脚本中,则list_users函数起作用。
我在做什么错?如何获取我的脚本来查找此代码以及正在创建的其他模块?
答案 0 :(得分:0)
我认为您应该将from list_users import list_users
更改为from standard_modules.list_users import list_users