Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python从另一个目录导入自定义库_Python - Fatal编程技术网

Python从另一个目录导入自定义库

Python从另一个目录导入自定义库,python,Python,我有以下文件夹格式 Main Folder -DataManagement -Libraries -TransformLibrary __init__.py transform.py -DataUsage -TransformData main.py 我希望从main.py调用Transform.

我有以下文件夹格式

Main Folder
    -DataManagement
        -Libraries
             -TransformLibrary
                  __init__.py
                  transform.py
        -DataUsage
             -TransformData
                  main.py
我希望从main.py调用Transform.py。然而,我需要这是相对的,这意味着如果有人克隆我的项目,它可以运行而不改变任何路径

谢谢

您可以使用
sys.path
查找当前目录,并将模块包含在
sys.path
中,以便Python可以找到它。但是,此解决方案有点混乱:

import sys
import os

# Get current directory
current_dir = sys.path[0]

# Create path to 'Main Folder/DataManagement/Libraries'
search_dir = os.path.join(current_dir.split('DataUsage')[0], 'Libraries')

# Make Python search for new path
sys.path.append(search_dir)

from TransformLibrary import transform # transform.py is imported
您可以使用
sys.path
查找当前目录,并将模块包含在
sys.path
中,以便Python可以找到它。但是,此解决方案有点混乱:

import sys
import os

# Get current directory
current_dir = sys.path[0]

# Create path to 'Main Folder/DataManagement/Libraries'
search_dir = os.path.join(current_dir.split('DataUsage')[0], 'Libraries')

# Make Python search for new path
sys.path.append(search_dir)

from TransformLibrary import transform # transform.py is imported