我在'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
中的os
和pythonfile1.os
是完全相同的模块。
如果你想从另一个文件导入东西,你应该使用python模块。
如果要创建名为init.py的文件,那么execute文件夹将成为一个模块。之后你可以使用
from .pythonfile1 import function_name
或者你可以使用
from .pythonfile1 import *
它导入了所有内容,但更好的解决方案是命名所有您想要明确使用的
您可以在文档