GVKun编程网logo

如何从同级文件夹导入Python模块?(如何从同级文件夹导入python模块)

10

在这篇文章中,我们将为您详细介绍如何从同级文件夹导入Python模块?的内容,并且讨论关于如何从同级文件夹导入python模块的相关问题。此外,我们还会涉及一些关于python–从特定文件夹导入模块、

在这篇文章中,我们将为您详细介绍如何从同级文件夹导入Python模块?的内容,并且讨论关于如何从同级文件夹导入python模块的相关问题。此外,我们还会涉及一些关于python – 从特定文件夹导入模块、Python-从父文件夹导入模块、Python从菜鸟到高手(4):导入Python模块、Python相对同级文件夹导入问题,没有找到模块错误的知识,以帮助您更全面地了解这个主题。

本文目录一览:

如何从同级文件夹导入Python模块?(如何从同级文件夹导入python模块)

如何从同级文件夹导入Python模块?(如何从同级文件夹导入python模块)

我经历了许多Python相对导入问题,但是我无法理解该问题/无法正常工作。

我的目录结构是:

Driver.pyA/      Account.py      __init__.pyB/      Test.py      __init__.py

Driver.py

from B import Test

Account.py

class Account:def __init__(self):    self.money = 0

Test.py

from ..A import Account

当我尝试运行时:

python Driver.py

我得到错误

Traceback (most recent call last):from B import TestFile "B/Test.py", line 1, in <module> from ..A import AccountValueError: Attempted relative import beyond toplevel package

答案1

小编典典

之所以发生这种情况AB是因为就Python而言,它们是独立的,无关的软件包。

__init__.py在与该目录相同的目录中创建一个目录Driver.py,一切都会按预期进行。

python – 从特定文件夹导入模块

python – 从特定文件夹导入模块

我有一个名为Script的文件夹,里面有temp.py脚本.我的临时脚本从名为lib的子文件夹导入模块.

Lib文件夹里面有空的__init__.py和我的parent_computer_test.py脚本.

在我的temp.py脚本中是以下代码:

import lib.parent_computer_test as parent_computer_test
parent_computer_test.mainChunk()
parent_computer_test.splitChunks()

我设法从子文件夹导入模块没有任何更大的问题.

这个工作流程/脚本工作正常,但由于特定原因,我的lib文件夹必须在我的计算机上的其他位置.有一个很长的故事,但它必须是那样的.

长话短说.我想从/ Script文件夹中的temp.py导入来自文件夹lib(或任何其他名称)的模块与parent_computer_test.py,但同时这个文件夹不是/ Script的子文件夹 – 所以它在其他地方电脑.它可以是C:/ development / …或者其他东西.

所以我的问题是如何从特定文件夹导入模块?

解决方法

将lib文件夹的路径附加到SYS PATH环境变量.然后它可以从任何地方导入

import os,sys
lib_path = os.path.abspath(os.path.join(''..'',''..'',''lib''))
sys.path.append(lib_path)
import mymodule

Python-从父文件夹导入模块

Python-从父文件夹导入模块

如何解决Python-从父文件夹导入模块?

看来问题与该模块位于父目录或类似目录中无关。

你需要将包含的目录添加ptdraft到PYTHONPATH

你说过import nib与你合作,这可能意味着你已将ptdraft自身(而非其父项)添加到PYTHONPATH中。

你可以使用相对导入(python> = 2.5):

from ... import nib

(Python 2.5的新增功能)PEP 328:绝对和相对导入

编辑:添加了另一个点“。” 上两个包

解决方法

我正在运行Python 2.5。

这是我的文件夹树:

ptdraft/
  nib.py
  simulations/
    life/
      life.py

(我还在__init__.py每个文件夹中,为便于阅读,在此省略)

如何nib从模块内部导入life模块?我希望无需修补sys.path就可以做到。

注意:正在运行的主模块在ptdraft文件夹中。

Python从菜鸟到高手(4):导入Python模块

Python从菜鸟到高手(4):导入Python模块

  在Python代码中导入模块需要使用import语句,语法结构如下:

import module_name

  引用模块中函数的语法如下:

module_name.function_name

  如果在Python程序中大量使用模块中的某些函数,那么每次在调用函数时都要加上“模块名”显得有些麻烦,所以在这种情况下,可以使用from…import…语句将模块中的函数直接暴露出来。该语句的语法结构如下:

from module_name import function_name

  如果要想导入模块中的所有函数,可以将function_name替换成型号(*),这样我们就可以直接使用该模块中的所有函数了。

from module_name import *

  另外,import和from…import…语句可以写在Python代码中的任何位置,但一定要在引用相应模块函数之前执行import或from…import…语句,否则调用函数时会抛出异常。

  下面的代码使用import和from…import…语句分别引用了math模块和math模块中的sqrt函数。如果要调用math模块中的其他函数,必须在函数名前加上“math.”前缀,但可以直接调用sqrt函数计算数值的平方根。

print("import和from...import...演示")# 导入math模块import mathprint(math.floor(20.6))# 导入math模块中的sqrt函数from math import sqrtprint(sqrt(12))# 导入math模块中的所有函数from math import *print(sin(3.14/2))

程序运行结果如下图所示。

《Python从菜鸟到高手》已经出版,购买送视频课程


本文分享自微信公众号 - 极客起源(geekculture)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Python相对同级文件夹导入问题,没有找到模块错误

Python相对同级文件夹导入问题,没有找到模块错误

如何解决Python相对同级文件夹导入问题,没有找到模块错误?

这是我的项目结构

Project
-- folder1
---- __init__.py
---- sum.py
---- prod.py

-- folder2
---- __init__.py
---- main.py

sum.py 中的代码是 -

def sum(a,b):
    return a+b

prod.py 中的代码是 -

from sum import sum

def prod(a,b):
    res = 0
    for i in range(a):
        res = sum(res,b)
    return res


if __name__ == "__main__":
    print(prod(4,5))

main.py 中的代码是 -

from folder1 import prod
if __name__ == ''__main__'':
    print(prod.prod(5,6))

运行 main.py 我收到错误 -

from sum import sum
ModuleNotFoundError: No module named ''sum''

直接运行 prod.py 时,我没有收到任何错误。我认为相对进口或兄弟进口存在问题。如何解决这个问题?理想情况下,这是一个抽象的问题,不应更改文件夹 1 中的任何内容

两个 __init__.py 文件都是空的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

关于如何从同级文件夹导入Python模块?如何从同级文件夹导入python模块的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于python – 从特定文件夹导入模块、Python-从父文件夹导入模块、Python从菜鸟到高手(4):导入Python模块、Python相对同级文件夹导入问题,没有找到模块错误等相关内容,可以在本站寻找。

本文标签:

上一篇python将值分配给循环中的列表元素(python将循环得到的数据放入列表)

下一篇如何将增量添加到python datetime.time?(python中增量赋值)