Python import自定义模块方法
作者:ohword 发布时间:2022-08-23 06:57:27
python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。
下面将具体介绍几种常用情况:
(1)主程序与模块程序在同一目录下:
如下面程序结构:
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;
(2)主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py
而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2
(4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。这里仅介绍上面三种简单情况。
评论:
win下面cmd当前目录上运行python交互的时候, 当前目录如果是个python包,要在当前交互引入它, 也需要 sys.path.append(".."), 不过我个人的做法通常是sys.path.insert(0,"..")
c:/py25>cd sub
c:/py25>python
>>>#import sub #这里提示找不到
>>>import sys
>>>sys.path.insert(0,'..') #或者sys.path.append("..")
>>>import sub #这里引入成功
貌似是大蛇的当前目录是"能识儿子不识父亲"的,
也就是要引入当前包的父包的话,要sys.path.insert(0,'../..')了...
以上所述是小编给大家介绍的Python import自定义模块方法网站的支持!
来源:http://www.cnblogs.com/master-pokemon/p/6136483.html
猜你喜欢
- 为什么,这么简单的一个python,我还要特意来写一篇文章呢?是因为留念下,在使用了Anaconda2和Anaconda3的基础上,现在需安
- 引言前几天忽然想到了四则运算和二树有没有关系,然后在网络上检索了一下,发现还真的有四则运算和二叉树。因为总是见到把 四则运算表达式 用 树
- 本文实例为大家分享了python matplotlib实现条形图填充效果的具体代码,供大家参考,具体内容如下写专利用的python里面的ma
- 环境安装安装Anaconda,官网链接Anaconda使用conda创建py3.6的虚拟环境,并激活使用conda create -n py
- Pyinstaller这个库是我用pip下载的第一个模块。接下来通过本文给大家分享Python PyInstaller安装和使用教程,一起看
- 一、安装mod_wsgi 3.4:./configure --with-apxs=/Users/levin/dev/apache2.2.27
- 本文实例为大家分享了python实现排序算法的具体代码,供大家参考,具体内容如下一、冒泡排序def bububle_sort(alist):
- 目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造
- 对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有:.默认匹配一个字
- Allure除了具有Pytest基本状态外,其他几乎所有功能也都支持。1、严重性如果你想对测试用例进行严重等级划分,可以使用@allure.
- 准备软件版本Django2.1.3Python3.7.1默认使用的是sqlite3DATABASES = { 'def
- parent.html 中的代码为:<iframe marginwidth="0"
- 本文实例讲述了django实现分页的方法。分享给大家供大家参考。具体如下:Python代码如下:#!/usr/bin/env python#
- 1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非
- tf.keras.layers.Conv2D() 函数Conv2D (二维卷积层)这一层创建了一个卷积核,它与这一层的输入卷积以产生一个输出
- Tangram官方网站。http://tangram.baidu.com/tangram/围观社区:简易社区,直接使用tieba。反馈的信息
- 图片的自动编码很容易就想到用卷积神经网络做为编码-解码器。在实际的操作中,也经常使用卷积自动编码器去解决图像编码问题,而且非常有效。下面通过
- 显示大图和隐藏大图的js代码:<script type="text/javascript"> &n
- js 代码中经常会碰到 undefined 这种错误,下面本文分享一下为什么会发生这种错误以及如何处理这种错误,js 中如果通过 var 声
- 前言本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。