广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python import同级modul
  • 370
分享到

Python import同级modul

Pythonimportmodul 2023-01-31 06:01:08 370人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

    看了一段python的基础视频,正好赶上单位需要做个小工具。索性拿它练练手,刚刚开动就遇到一个新的问题:目录引用。简单的说,就是将不同的功能代码,分到不同的目录文件中,代码中涉及到同级目录调用,问题就出来了“SystemError:

    看了一段python的基础视频,正好赶上单位需要做个小工具。索性拿它练练手,刚刚开动就遇到一个新的问题:目录引用。简单的说,就是将不同的功能代码,分到不同的目录文件中,代码中涉及到同级目录调用,问题就出来了“SystemError: Parent module '' not loaded, cannot perfORM relative import”。

    先看一下目录结构:

wKioL1RmF5KTx50sAAEPQLnI4vw282.jpg



Operateexcel.py


#!F:/Python/python


from ..Model.ObjectFile import *

def showMessage():
	print('OperateExcel file is Load')


ObjectFile.py

def showMessage():
	print('Object File is running!')


在python环境调用提示:

Traceback (most recent call last):

  File "Operate/OperateExcel.py", line 4, in <module>

    from ..Model.ObjectFile import *

SystemError: Parent module '' not loaded, cannot perform relative import


查阅了一些资料,发现问题在于引用路径上,就是OperateExcel.py 的

from ..Model.ObjectFile import *


修改OperateExcel.py 查看一下,该文件在启动时加载了哪些路径。

修改代码如下:

#!F:/Python/python


# from ..Model.ObjectFile import *

# def showMessage():
# 	print('OperateExcel file is Load')


import sys,pprint

pprint.pprint(sys.path)

打印输出默认调用路径:

['F:\\Python\\Project\\ExcelOperateProject\\Operate',

 'C:\\windows\\system32\\python33.zip',

 'C:\\Python33\\DLLs',

 'C:\\Python33\\lib',

 'C:\\Python33',

 'C:\\Python33\\lib\\site-packages']


问题貌似明朗化,加载时未找到加载的路径。曾经尝试修改Operate目录下的__init__.py文件(该文件默认为空)。

import sys
sys.pate.append('F:\\Python\\Project\\ExcelOperateProject\\Model',
 
)

调用OperateExcel.py输入如下:

['F:\\Python\\Project\\ExcelOperateProject\\Operate',

 'C:\\Windows\\system32\\python33.zip',

 'C:\\Python33\\DLLs',

 'C:\\Python33\\lib',

 'C:\\Python33',

 'C:\\Python33\\lib\\site-packages']

(对于__init__还停留在初级阶段,如有使用不当还请批评指正)。


问题原因已经明确,即文件调用未加载指定路径,造成编译错误。经过度娘查询一些以往大神的经验。发现主要问题在于同级module无法直接调用。需要先找到上一级的module而后查询到调用的内容。前提你的执行文件目录不能与你的引入文件同级。所以我修改一下目录结构如下:

wKioL1RmzWCwxHhgAACPBAuBq8c551.jpg


将Model目录、Operate目录封装到package目录下,并且在package目录下创建空的__init__.py文件(这个很重要,否则在跨模块调用时会提示错误,因编译程序未将package看作是module)。然走在ExcelOperateProject目录下建立main.py调用package/Operate/OperateExcel.py代码如下:

from package.Operate import OperateExcel

OperateExcel.showMessage()

调用成功!哇哈哈!


--结束END--

本文标题: Python import同级modul

本文链接: https://www.lsjlt.com/news/190025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python import同级modul
        看了一段Python的基础视频,正好赶上单位需要做个小工具。索性拿它练练手,刚刚开动就遇到一个新的问题:目录引用。简单的说,就是将不同的功能代码,分到不同的目录文件中,代码中涉及到同级目录调用,问题就出来了“SystemError:...
    99+
    2023-01-31
    Python import modul
  • Python import同级目录报错
    参考:http://blog.csdn.net/geekleee/article/details/52505233 pycharm不会将当前文件目录自动加入自己的sourse_path。右键make_directory as-->...
    99+
    2023-01-31
    报错 目录 Python
  • Python 同级目录import报错
    在使用protobuf时,我们自己了各种Options的时候,在生成的python文件会在同级目录中引用,所以这个时候我们不能做到,加个__init__.py文件了事然后在文件里面写 import mudole.file这样的代码,因为我...
    99+
    2023-01-31
    报错 目录 Python
  • python 在不同层级目录import
    http://www.cnitblog.com/seeyeah/archive/2009/03/15/55440.html python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。 下面将具...
    99+
    2023-01-31
    层级 目录 python
  • python在不同层级目录import模块的方法
    使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不...
    99+
    2022-06-04
    层级 模块 目录
  • Python中import导入上一级目录模块及循环import问题的解决
    import上一级目录的模块 python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。 要import某个目录的module,我们sys.path...
    99+
    2022-06-04
    模块 目录 Python
  • python import 引用上上上级包的三种方法
    目录方法一方法二方法三方法一 相对引用: from … import base ,上级目录from … import base,上上级目录 from .....
    99+
    2023-02-27
    python import 引用上上上级包 python import 引用上级包 python import 引用包
  • python import引用上上上级包的方法是什么
    本篇内容主要讲解“python import引用上上上级包的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python import引用上上上级包的方法是什么”吧!...
    99+
    2023-07-05
  • Python如何调用同级目录
    这篇文章将为大家详细讲解有关Python如何调用同级目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。同级目录(兄弟目录)调用看书看得好好的,一写代码就出错!!!这个问题是大家初学Python的时候会遇到...
    99+
    2023-06-29
  • python导入同级模块的实现
    目录导入同级模块方法1方法2同级目录导入问题方法导入同级模块 导入sys,一定要将当前包所在路径添加进来。 import sys sys.path.append(r"director...
    99+
    2022-11-13
  • Python如何引入同级包和模块
    目录如何引入同级包和模块工程项目结构如下首先是Gound.py引入Animal模块Sky和Sea同理测试结果如何导入同级.py文件导入.py文件的所有方法如何引入同级包和模块 工程项...
    99+
    2022-11-13
  • python中针对同一目录或不同目录下的其他文件或文件夹的import用法
    在Python中,import关键字用于导入其他文件或模块的内容,让你可以在当前文件中使用这些内容。下面我将介绍如何使用import来导入同一目录或不同目录下的文件或文件夹。 导入同一目录下的文件或模块: 如果你要导入与当前文件位于同一目...
    99+
    2023-09-03
    python 数据分析
  • python如何引入同级目录下的文件
    可以使用相对路径来引入同级目录下的文件。假设有如下的目录结构:```- project- main.py- utils- helpe...
    99+
    2023-09-08
    python
  • Python同级目录(兄弟目录)调用方式
    目录同级目录(兄弟目录)调用详细解释开始上代码import同级目录报错同级目录(兄弟目录)调用 看书看得好好的,一写代码就出错!!! 这个问题是大家初学Python的时候会遇到的一个...
    99+
    2022-11-13
  • Python编程中如何实现数组同步的高级算法?
    在Python编程中,数组同步是一项非常基础和重要的任务。它涉及到多个数组之间的数据同步,以保持它们的一致性。在本文中,我们将介绍一些实现数组同步的高级算法,并提供一些实例代码来帮助您更好地理解。 一、使用numpy库实现数组同步 num...
    99+
    2023-10-11
    编程算法 数组 同步
  • 使用Python怎么实现SQL Server数据库的对象同步轻量级
    这期内容当中小编将会给大家带来有关使用Python怎么实现SQL Server数据库的对象同步轻量级,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,表的存在依赖于sch...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作