在这篇文章中,我们将为您详细介绍如何从同级文件夹导入Python模块?的内容,并且讨论关于如何从同级文件夹导入python模块的相关问题。此外,我们还会涉及一些关于python–从特定文件夹导入模块、
在这篇文章中,我们将为您详细介绍如何从同级文件夹导入Python模块?的内容,并且讨论关于如何从同级文件夹导入python模块的相关问题。此外,我们还会涉及一些关于python – 从特定文件夹导入模块、Python-从父文件夹导入模块、Python从菜鸟到高手(4):导入Python模块、Python相对同级文件夹导入问题,没有找到模块错误的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 如何从同级文件夹导入Python模块?(如何从同级文件夹导入python模块)
- python – 从特定文件夹导入模块
- Python-从父文件夹导入模块
- Python从菜鸟到高手(4):导入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
小编典典之所以发生这种情况A
,B
是因为就Python而言,它们是独立的,无关的软件包。
__init__.py
在与该目录相同的目录中创建一个目录Driver.py
,一切都会按预期进行。
python – 从特定文件夹导入模块
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 / …或者其他东西.
所以我的问题是如何从特定文件夹导入模块?
解决方法
import os,sys lib_path = os.path.abspath(os.path.join(''..'',''..'',''lib'')) sys.path.append(lib_path) import mymodule
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代码中导入模块需要使用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相对同级文件夹导入问题,没有找到模块错误?
这是我的项目结构
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相对同级文件夹导入问题,没有找到模块错误等相关内容,可以在本站寻找。
本文标签: