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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
Python迭代器和生成器介绍
Mar 06 Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 Python
深入解析Python编程中JSON模块的使用
Oct 15 Python
Python中%r和%s的详解及区别
Mar 16 Python
速记Python布尔值
Nov 09 Python
Django实现组合搜索的方法示例
Jan 23 Python
对python:print打印时加u的含义详解
Dec 15 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
python logging模块的使用
Sep 07 Python
python 生成器需注意的小问题
Sep 29 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 变量类型的强制转换
2009/10/23 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
php静态文件生成类实例分析
2015/01/03 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python 串行执行和并行执行实例
2020/04/30 Python
Python单元测试及unittest框架用法实例解析
2020/07/09 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
中专生自我鉴定书范文
2013/12/28 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python