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模块学习 datetime介绍
Aug 27 Python
python自动zip压缩目录的方法
Jun 28 Python
python 换位密码算法的实例详解
Jul 19 Python
python+opencv识别图片中的圆形
Mar 25 Python
目前最全的python的就业方向
Jun 05 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
详解Python locals()的陷阱
Mar 26 Python
NumPy 数组使用大全
Apr 25 Python
解析PyCharm Python运行权限问题
Jan 08 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
Keras自定义IOU方式
Jun 10 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警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
JavaScript 事件系统
2010/07/22 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
Python struct模块解析
2014/06/12 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Python实现的rsa加密算法详解
2018/01/24 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python爬取微信公众号文章
2018/08/31 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
详解Python的三种拷贝方式
2020/02/11 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
为什么要有struct关键字
2012/05/08 面试题
进程的查看和调度分别使用什么命令
2013/12/14 面试题
车辆安全检查制度
2014/01/12 职场文书
学生喝酒检讨书
2014/02/06 职场文书
服装设计师求职信
2014/06/04 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
节约用水广告语60条
2019/11/14 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
redis中lua脚本使用教程
2021/11/01 Redis