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中的map、reduce和filter浅析
Apr 26 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
Python中实现常量(Const)功能
Jan 28 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
浅谈Python中带_的变量或函数命名
Dec 04 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
对Django 转发和重定向的实例详解
Aug 06 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
centos7中安装python3.6.4的教程
Dec 11 Python
python构造函数init实例方法解析
Jan 19 Python
python3.6使用SMTP协议发送邮件
May 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
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python实现上传下载文件功能
2020/11/19 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python 如何创建一个线程池
2020/07/28 Python
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
区三好学生主要事迹
2014/01/30 职场文书
教师演讲稿开场白
2014/08/25 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis