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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
布同 统计英文单词的个数的python代码
Mar 13 Python
Python程序设计入门(1)基本语法简介
Jun 13 Python
使用python遍历指定城市的一周气温
Mar 31 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
python实现超市扫码仪计费
May 30 Python
详解Python做一个名片管理系统
Mar 14 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Python基于httpx模块实现发送请求
Jul 07 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
Jan 08 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
python基础之文件处理知识总结
May 23 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下目前为目最全的CURL中文说明
2010/08/01 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
yii添删改查实例
2015/11/16 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
python实现红包裂变算法
2016/02/16 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
python标识符命名规范原理解析
2020/01/10 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
python安装及变量名介绍详解
2020/12/12 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
研究生毕业自我鉴定范文
2014/03/27 职场文书
文秘求职信范文
2014/04/10 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
计算机实训报告范文
2014/11/05 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
js Proxy的原理详解
2021/05/25 Javascript
javascript对象3个属性特征
2021/11/17 Javascript