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框架Flask下网站开发入门实例
Feb 08 Python
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
整理Python中的赋值运算符
May 13 Python
python实现在控制台输入密码不显示的方法
Jul 02 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python中extend和append的区别讲解
Jan 24 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Python实现FM算法解析
Jun 18 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 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_MySQL教程-第一天
2007/03/18 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
jquery密码强度校验
2015/12/02 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
本科生详细的自我评价
2013/09/19 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
现金出纳岗位职责
2014/03/15 职场文书
个人投资合作协议书
2014/10/12 职场文书
运动会观后感
2015/06/09 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
浅谈JS的原型和原型链
2021/06/04 Javascript