本文介绍了如何在PYTHON中从父文件夹导入函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在我的python项目上执行函数的导入。

我知道上面有几十个类似的问题,但不幸的是,我找不到适合我的解决方案,因为答案要么太具体,要么太笼统,要么就是难看的黑客(比如用绝对路径操作)。

下面是我的文件夹结构:

PythonClient:.
│   .gitignore
│   des.py
│   des_test.py
│   des_var2.py
│   gui.py
│   index.py
│   __init__.py
│
├───diffie_hellman
│   │   diffie_hellman.py
│   │   diffie_hellman_test.py
│   │   __init__.py
│   │
│   └───__pycache__
│           diffie_hellman.cpython-35.pyc
│
├───hashes
│   │   collision.py
│   │   hash_function.py
│   │   __init__.py
│   │
│   └───__pycache__
│           hash_function.cpython-35.pyc
│           __init__.cpython-35.pyc
│
└───__pycache__
        des.cpython-35.pyc
        des_var2.cpython-35.pyc

我需要从./diffie_hellman/diffie_hellman.py导入./hashes/hash_function.py

./hashes/hash_function.py文件包含唯一名为hash_function的函数。

我尝试了相当多的方法来执行导入,但就是做不到。我总是得到一个

当我在导入语句中使用.时(即from .hashes.hash_function)

或者我得到这个:

每个__init__.py文件为空。

以下是我的尝试列表:

  1. from hashes import hash_function

  2. from hashes.hash_function import hash_function

  3. from .hashes.hash_function import hash_function

  4. from ..hashes.hash_function import hash_function

  5. import hashes

  6. import hash_function

  7. from .. import hash_function

  8. from . import hash_function

  9. from PythonClient.hashes.hash_function import hash_function


您能帮我解决我的问题并了解如何处理此类导入吗?


ps:此处找不到解决方案stackoverflow.com/questions/14132789/

推荐答案

您有一个__init__.py这一事实告诉我,它本身就是一个库。做from PythonClient.hashes.hash_function import hash_function。我总是喜欢完全合格的路径。

您还需要安装库,然后才能从中导入。这需要在您的主目录中有一个setup.py文件。在此之后,您应该通过pip安装您的库以进行测试,例如`pip install-e..

这篇关于如何在PYTHON中从父文件夹导入函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 17:32