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 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
python中的随机函数小结
Jan 27 Python
python多线程之事件Event的使用详解
Apr 27 Python
Python爬虫信息输入及页面的切换方法
May 11 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
Python异常的检测和处理方法
Oct 26 Python
如何在Python中实现goto语句的方法
May 18 Python
python3下载抖音视频的完整代码
Jun 05 Python
python 设置输出图像的像素大小方法
Jul 04 Python
python构造IP报文实例
May 05 Python
Python中Selenium模块的使用详解
Oct 09 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 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数据库连接
2006/10/09 PHP
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
php记录日志的实现代码
2011/08/08 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
浅谈python中set使用
2016/06/30 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
编写strcpy函数
2014/06/24 面试题
法律专业学生的自我评价
2014/02/07 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
合作投资意向书
2014/04/01 职场文书
师范类求职信
2014/06/21 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL