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基础教程之类class定义使用方法
Feb 20 Python
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
Python函数的周期性执行实现方法
Aug 13 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
Python编程argparse入门浅析
Feb 07 Python
python opencv3实现人脸识别(windows)
May 25 Python
python实现决策树ID3算法的示例代码
May 30 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
python对html过滤处理的方法
Oct 21 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
python爬虫爬取某网站视频的示例代码
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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
基于vue配置axios的方法步骤
2017/11/09 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python 中的 else详解
2016/04/23 Python
Python for循环与getitem的关系详解
2020/01/02 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
面试后感谢信
2014/02/01 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python