Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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_Python 3.x_Path - Fatal编程技术网

Python 如何导入模块而不考虑目录

Python 如何导入模块而不考虑目录,python,python-3.x,path,Python,Python 3.x,Path,我想知道,如果模块位于当前脚本上方的一个或多个目录中,是否有任何方法可以使用项目的模块,而不管模块的路径如何 因为我试着做的是这样的事情,但它不起作用 import os r = os.path.realpath(file.py) from r import functionR 当我进一步研究时,我发现了一些关于将模块添加到主路径的内容,但我不知道这是否正确 我希望你能帮我一点忙 添加了我正在使用的示例路线 root folder1 folder11

我想知道,如果模块位于当前脚本上方的一个或多个目录中,是否有任何方法可以使用项目的模块,而不管模块的路径如何

因为我试着做的是这样的事情,但它不起作用

import os

r = os.path.realpath(file.py)

from r import functionR
当我进一步研究时,我发现了一些关于将模块添加到主路径的内容,但我不知道这是否正确

我希望你能帮我一点忙

添加了我正在使用的示例路线

root
    folder1
        folder11
            file1.py
    folder2
        folder22
            file2.py
    file_one.py
例如,尝试在较低级别的文件中使用file_one.py模块,例如file1.py或file2.py


我希望您能帮助我

您可以尝试将包含感兴趣模块的目录添加到sys.path

import sys
sys.path.extend([put_directory_here])
或者将目录添加到PATH环境变量中

或者将包含模块的文件夹添加到路径中已存在的位置,即站点包

这样python就知道在哪里查找模块,并且可以在任何地方访问这些模块


这里还有大量关于模块绝对/相对导入的信息:

,这必须放在每个file.py中,要使用它,我只需要执行一个常见的导入,例如从my_file导入my_函数