[英]Import a file from another directory
我有一个文件调用entryPoint.py
:
from .commonLib.deviceLib import *
我有一个名为deviceLib.py
的文件:
import math
import sys
import logging
import requests
import this
class DeviceLib(object):
def __init__(self, connectionDb):
self.__db = connectionDb
树是这样的:
/test
entryPoint.py
/commonLib
__init__.py
deviceLib.py
当我执行python entryPoint.py
,出现错误: Attempted relative import in non-package
。 请帮我。
使用sys.path.append附加python文件(模块所在)的目录。 例如,如果您的entryPoint.py位于地址目录中
import sys
sys.path.append('/path/to/your/module/address/')
import entryPoint
要从另一个目录导入文件,可以使用以下代码:
import sys
sys.path.insert(0, 'folder destination')
import file
如您所见,我们包含了路径,因此python也会在该路径中查找文件。
/ test和/ commonLib驻留的文件夹中应该有__init__.py
。
然后做
from commonLib import deviceLib
例如
sound
|-- effects
| |-- echo.py
| |-- __init__.py
| |-- reverse.py
| `-- surround.py
|-- filters
| |-- equalizer.py
| |-- __init__.py
| |-- karaoke.py
| `-- vocoder.py
|-- formats
| |-- aiffread.py
| |-- aiffwrite.py
| |-- auread.py
| |-- auwrite.py
| |-- __init__.py
| |-- wavread.py
| `-- wavwrite.py
`-- __init__.py
假设您现在已经以subdirecory格式打开了wavread.py,则可以仅通过过滤器导入karaoke.py
from filters import karaoke
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.