将一组内置函数从python文件导入到另一个python文件



我在'pythonfile1.py'中有一组内置函数,位于'/Users/testuser/Documents',该文件包含

import os
import sys
import time

现在我想将"pythonfile1.py"导入"pythonfile2.py",该文件位于"/Users/testuser/Documents/execute"我尝试了以下代码,但没有成功:

import sys
sys.path[0:0] = '/Users/testuser/Documents'
import pythonfile1.py
print os.getcwd()

我希望它打印当前的工作目录

您的问题有点不清楚。基本上,有两件事是"错误的"。

  • 首先,你的进口声明被破坏了:

    import pythonfile1.py
    

    这指定了文件的名称,而不是模块名称-模块不包含句点和扩展名。这一点很重要,因为点表示-包的模块。您的语句正试图从程序包pythonfile1导入模块py。将其更改为

    import pythonfile1
    
  • 其次,不需要从另一个模块中获取内置内容。您可以再次导入它们。

    # pythonfile1
    import os
    print 'pythonfile1', os.getcwd()  # assuming py2 syntax
    # pythonfile2
    import os
    print 'pythonfile2', os.getcwd()
    

    如果真的想从pythonfile1使用os,可以这样做:

    # pythonfile2
    import os
    import pythonfile1
    print 'pythonfile2', os.getcwd()
    print 'pythonfile1->2', pythonfile1.os.getcwd()
    

    注意,pythonfile2中的ospythonfile1.os是完全相同的模块。

如果你想从另一个文件导入东西,你应该使用python模块。

如果要创建名为init.py的文件,那么execute文件夹将成为一个模块。之后你可以使用

from .pythonfile1 import function_name

或者你可以使用

from .pythonfile1 import * 

它导入了所有内容,但更好的解决方案是命名所有您想要明确使用的

您可以在文档

中找到更多关于模块的信息

相关内容

  • 没有找到相关文章