python导入模块,用于另一个py文件中的代码

时间:2016-03-20 07:02:09

标签: python import

您好我将用户定义的函数存储在separte文件my_functions.py中。如,

#my_functions.py
def some_func():
    sleep(1)
    print(1)

另一个文件main.py中的主要代码:

#main.py
from time import sleep
from my_functions import *

some_func()

当我运行main.py时,我发现sleep未定义的错误。从my_functions.py导入的内容似乎不了解from time import sleep

我应该在my_funcions.py中导入时间模块吗?

我感到困惑,因为我认为只导入了some_func,如果我在from time import sleep中写my_functions.py,这句话就不会被执行......

关于如何存储用户定义函数的更多一般建议值得赞赏。感谢

2 个答案:

答案 0 :(得分:1)

from time import sleep
#my_functions.py
def some_func():
    sleep(1)
    print(1)

您需要在您使用它的文件/模块中导入该功能。

答案 1 :(得分:1)

是的,您应该在my_functions.py中导入时间模块。希望这可以帮助您了解导入的工作原理:

  

导入语句分两步执行:(1)找到一个模块,并在必要时进行初始化; (2)在本地名称空间(发生import语句的作用域)中定义一个或多个名称。第一个表单(不含)为列表中的每个标识符重复这些步骤。具有from的表单执行步骤(1)一次,然后重复执行步骤(2)。   https://docs.python.org/2.0/ref/import.html

这是a style guide from PEP008 about import