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 相关文章推荐
在SAE上部署Python的Django框架的一些问题汇总
May 30 Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 Python
python中常用的九种预处理方法分享
Sep 11 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
OpenCV 模板匹配
Jul 10 Python
django框架模板语言使用方法详解
Jul 18 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
numpy数据类型dtype转换实现
Apr 24 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 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
收音机的保养
2021/03/01 无线电
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
PHP的拦截器实例分析
2014/11/03 PHP
微信支付开发交易通知实例
2016/07/12 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
js获取div高度的代码
2008/08/09 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
老生常谈Python基础之字符编码
2017/06/14 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
意大利男装网店:Vrients
2019/05/02 全球购物
财务工作者先进事迹材料
2014/01/17 职场文书
学术会议邀请函范文
2014/01/22 职场文书
求职自荐信怎么写
2014/03/06 职场文书
新学期决心书
2014/03/11 职场文书
捐款倡议书怎么写
2014/05/13 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL