需要了解如何从一个目录向上导入python模块

需要了解如何从一个目录向上导入python模块,python,python-3.x,Python,Python 3.x,我有一个这样的结构 pkg1 __init__.py file_1.py file2.py pkg2 test_1.py __init__.py 我有一个类似上面的结构。我在test_1.py中有一个代码,它正试图加载文件_1.py #test_1.py from pkg1 import file_1 # from .. import file_1 这两种说法都不起作用。如何从pfg1导入文件_1一个python程序可以通过直接向sys.path添加元

我有一个这样的结构

pkg1
   __init__.py  
   file_1.py
   file2.py
pkg2
   test_1.py
   __init__.py
 
我有一个类似上面的结构。我在
test_1.py
中有一个代码,它正试图加载
文件_1.py

#test_1.py

from pkg1 import file_1
# from .. import file_1

这两种说法都不起作用。如何从pfg1导入文件_1一个python程序可以通过直接向sys.path添加元素来修改其路径。 导入sys,然后可以在运行时添加到系统路径:

    import sys
    sys.path.insert(0, 'path/to/your/py_file')
    
    import py_file
或者您可以这样做:

    import sys
    import os
    
    base_dir = os.path.dirname(__file__) or '.'

    # Insert the package_dir_a directory at the front of the path.
    package_dir_a = os.path.join(base_dir, 'package_dir_a')
    sys.path.insert(0, package_dir_a)
    import py_file

python程序可以通过直接向sys.path添加元素来修改其路径。 导入sys,然后可以在运行时添加到系统路径:

    import sys
    sys.path.insert(0, 'path/to/your/py_file')
    
    import py_file
或者您可以这样做:

    import sys
    import os
    
    base_dir = os.path.dirname(__file__) or '.'

    # Insert the package_dir_a directory at the front of the path.
    package_dir_a = os.path.join(base_dir, 'package_dir_a')
    sys.path.insert(0, package_dir_a)
    import py_file

使pkg2成为一个带有
\uuu init\uuuu.py
的包,如果它是
pytest
调用它作为
python-m pytest
我尝试了这个方法,但没有成功。我已经有一个init.py,上面我忘了提到。这是否回答了你的问题?如何运行测试?@NizamMohamed:python使pkg2成为一个带有
\uuu init\uuu.py
的包,如果它是
pytest
则作为
python-m pytest
调用它。我尝试了这个方法,但没有成功。我已经有一个init.py,上面我忘了提到。这是否回答了你的问题?如何运行测试?@NizamMohamed:python