Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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_Directory_Directory Structure - Fatal编程技术网

从Python中的其他目录导入类

从Python中的其他目录导入类,python,directory,directory-structure,Python,Directory,Directory Structure,对于任何感兴趣的人: 最简单的解决办法是 import sys sys.path.append('../') from Folder2.Folder2-1.File2 import Foo 我有这样的结构: Program: Folder1: __init__.py File1.py Folder2: __init__.py Folder2-1 __init__.py

对于任何感兴趣的人: 最简单的解决办法是

import sys
sys.path.append('../')

from Folder2.Folder2-1.File2 import Foo

我有这样的结构:

Program:
    Folder1:
        __init__.py
        File1.py

    Folder2:
        __init__.py
        Folder2-1
            __init__.py
            File2.py
文件1:

from .Folder2.Folder2-1.File2 import Foo
Foo().hello()
文件2:

class Foo:
    def hello(self):
        print("Hello!")

我想将
File2.py
中的
Foo
类导入
File1.py
。 我试过:

from.Folder2.Folder2-1.File2导入Foo
那就

  File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
    start(fakepyfile,mainpyfile)
  File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
    exec(open(mainpyfile).read(),  __main__.__dict__)
  File "<string>", line 1, in <module>
ImportError: attempted relative import with no known parent package
我想将
RSA
类从
RSA.py
导入
findPath.py

因此,如果我有:

Desktop:
    Code:

        findPath:
            __init__.py
            findPath.py
            testFindPath.py #empty

        __init__.py
        useful.py
有用的.py:

class RSA:
    def encript(self,msg):
        return 123456778

class Hash:
    def hash(self):
        return 1234456778
我会将
Hash
导入
findPath.oy
中,方法是:

from .useful import Hash

我对您的文件夹结构感到困惑,但通常您可以像这样导入类或方法,假设您正在编写的脚本位于项目目录中:

从foldername.filename导入Foo

from folder name.foldername2.filename导入Foo


我希望这对你有帮助。否则,请更精确地描述您的文件夹结构。

folder2没有一个
\uuu init\uuuu.py
文件使其成为一个模块。当您能够创建并响应反馈时,您还应该等待提问。我忘了把它添加到我的问题中。请检查解决方案。在我的桌面上有一个名为Code的文件夹。在代码中,我有其他以项目命名的文件夹,比如“findPath”。在“findPath”中有一个名为“findPath.py”的文件。在“代码”中有一个名为“有用”的文件夹,其中包含有用的项目,这些项目存储在我创建的子文件夹中,就像RSA实现一样。现在我想从代码中“有用”文件夹中“RSA”文件夹中的“RSA.py”文件中获取“RSA”类。我将把这个添加到我的问题中。我在这里发现了一个类似的问题和解决方案:我建议将经常在一个文件中使用的有用函数存储在其他脚本的相邻文件夹中。例如,“代码”包含带有文件“utils.py”的“utils”,您可以在其中存储所有有用的函数。在“代码”中,创建其他文件夹,如“findPath”。从“findPath”中的脚本中,您可以像我刚才展示的那样导入函数和类。谢谢MD98。现在使用链接中的代码。
from .useful import Hash