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初学者的一些编程技巧
Apr 03 Python
python实现的希尔排序算法实例
Jul 01 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
Python走楼梯问题解决方法示例
Jul 25 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python ORM编程基础示例
Feb 02 Python
Python识别html主要文本框过程解析
Feb 18 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
详解Pycharm与anaconda安装配置指南
Aug 25 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与javascript对多项选择的处理
2006/10/09 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
jQuery学习基础知识小结
2010/11/25 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
JavaScript中的闭包介绍
2015/03/15 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
python调用私有属性的方法总结
2020/07/24 Python
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
如何用python清洗文件中的数据
2021/06/18 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python