python导入不同目录下的自定义模块过程解析


Posted in Python onNovember 18, 2019

这篇文章主要介绍了python导入不同目录下的自定义模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、代码目录结构

python导入不同目录下的自定义模块过程解析

自定义的模块在Common包下,Study文件下SelectionSort.py文件导入自定义的模块

二、源码

2.1:SelectionSort.py文件

python导包默认是从sys.path中搜索的。

sys.path结果如下:['D:\\PyCharm\\source\\Study', 'D:\\PyCharm\\source', 'D:\\PyCharm\\source\\venv\\Scripts\\python36.zip', 'D:\\Python\\Python36\\DLLs', 'D:\\Python\\Python36\\lib', 'D:\\Python\\Python36', 'D:\\PyCharm\\source\\venv', 'D:\\PyCharm\\source\\venv\\lib\\site-packages', 'D:\\PyCharm\\source\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.6.egg', 'D:\\PyCharm\\source\\venv\\lib\\site-packages\\pip-19.0.3-py3.6.egg']

从结果中可以看到,并没有Common,也就是说直接是不能导入Common下的模块的(即:不能写成from CreateData import createData)。处理方式如下:

2.1.1:

from Common.CreateData import createData

from Common.Swap import swap

2.1.2

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

from CreateData import createData

from Swap import swap

说明:网上大多数是第二种,将自定义模块路径加入到sys.path中,未找到第一种,这个可能是版本差异?前辈们用的python2.x,不支持包名.模块名?我用的是python3.6.8

import sys
sys.path.append('../Common') #模块所在目录加入到搜素目录中
from CreateData import createData
from Swap import swap


def selectSort(lyst):
  i = 0
  while i < len(lyst) - 1:
    minindex = i
    j = i + 1
    while j < len(lyst):
      if lyst[j] < lyst[minindex]:
        minindex = j
      j += 1
    if minindex != i:
      swap(lyst, i, minindex)
    i += 1
    print(lyst)
selectSort(createData())

2.2:CreateData.py文件

def createData():
   return [23, 45, 2, 35, 89, 56, 3]

2.3:Swap.py文件

def swap(lst, i, j):
   temp = lst[i]
   lst[i] = lst[j]
   lst[j] = temp

三、运行结果

python导入不同目录下的自定义模块过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python实现web端用户登录和注册功能的教程
Apr 30 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
如何基于python实现画不同品种的樱花树
Jan 03 Python
python enumerate内置函数用法总结
Jan 07 Python
Python 如何批量更新已安装的库
May 26 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
Python re.sub 反向引用的实现
Jul 07 Python
python神经网络ResNet50模型
May 06 Python
解决django model修改添加字段报错的问题
Nov 18 #Python
python sorted方法和列表使用解析
Nov 18 #Python
在Django中实现添加user到group并查看
Nov 18 #Python
Django继承自带user表并重写的例子
Nov 18 #Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 #Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 #Python
Django 创建后台,配置sqlite3教程
Nov 18 #Python
You might like
php discuz 主题表和回帖表的设计
2009/03/13 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
python实现在线翻译
2020/06/18 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
个人求职信范文分享
2013/12/13 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
优秀实习生感言
2014/03/01 职场文书
学生会主席竞聘书
2014/03/31 职场文书
解放思想演讲稿
2014/09/11 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
Pandas 数据编码的十种方法
2022/04/20 Python
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS