我正在使用Python 3。 我在同一目录中有两个Python文件:first.py和second.py。 在first.py的开头,我使用:
from second import *
但是,它会返回以下错误消息:
ModuleNotFoundError: No module named 'second'
我应该如何在first.py中导入它?
更新:为了澄清我的具体用例,我试图将我的settings.py拆分为Django。我有一个主要的settings.py文件和另一个只包含机密信息的文件。我跟着this following documentation使用了settings.py中的以下行:
from settings_local import *
请注意,settings_local.py位于同一目录中。但是,它返回以下错误消息:
ModuleNotFoundError: No module named 'settings_local'
我知道该文档说“为了与Django 1.4及更高版本兼容,需要修改下面列出的一些示例。”但我不知道如何在Python 3中使用它。
答案 0 :(得分:2)
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以通过这种方式将文件添加到Python中
import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file
答案 3 :(得分:0)
you can create __init__.py in current directory.
然后你可以使用:
from second import *
需要 init .py文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块。在最简单的情况下, init .py可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__变量,稍后描述。
答案 4 :(得分:0)
您应该能够自动将文件所在的目录添加到PATH
,然后导入另一个文件,其中包含:
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)))
import second