一、代码目录结构

自定义的模块在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导入不同目录下的自定义模块的更多相关文章

  1. python导入不同目录下模块的方法

    下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:如下面程序结构:`-- src    |-- mod1.py    `-- test1.py    若在程序test1.py中导入模块m ...

  2. python 导入同级目录文件、上级目录文件以及下级目录数据集和模块包

    划重点: 其中dataset_path = ''表示在Python工作文件夹 dataset_path = '..'表示在Python工作文件夹的上级文件夹 dataset_path = '某某文件夹 ...

  3. Python获取指定目录下所有子目录、所有文件名

    需求 给出制定目录,通过Python获取指定目录下的所有子目录,所有(子目录下)文件名: 实现 import os def file_name(file_dir): for root, dirs, f ...

  4. python获取指定目录下所有文件名os.walk和os.listdir

    python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...

  5. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

  6. python引入同一目录下的py文件

    python引入同一目录下的py文件 注意:python2和python3的包内import语法有区别,下面介绍一下python3的包内import语法 例如在admin.py文件中要引入dealco ...

  7. python导入上级目录中的模块

    python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以 ...

  8. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  9. 用Python删除本地目录下某一时间点之前创建的所有文件

    因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作.网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如下: os.l ...

随机推荐

  1. Python Basics with Numpy

    Welcome to your first assignment. This exercise gives you a brief introduction to Python. Even if yo ...

  2. 第六周作业&实验报告四

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  3. wget断点续传下载需要登录的网站上的大文件

    1 举个例子 xcode 2 方法 wget --load-cookies=cookies.txt  -c url -c是断点续传,如果网络断了,再运行该命令会接着最新的下载继续下载. --load- ...

  4. [官网]关于EPEL

    EPEL/zh-cn https://fedoraproject.org/wiki/EPEL/zh-cn Contents [hide]  1企业版 Linux 附加软件包(EPEL) 1.1什么是企 ...

  5. redis内存满了怎么办?

    redis最为缓存数据库,一般用于存储缓存数据,用于缓解数据库压力,但是缓存太多,内存满了怎么办呢.一般有以下几种方法 一.增加内存 redis存储于内存中,数据太多,占用太多内存,那么增加内存就是最 ...

  6. 关于float的小奥秘

    一. float 存储方式 1.1. float 占四个字节 1.2. 浮点数构成 1.2.1. 无论是单精度还是双精度在存储中都分为三个部分: <1>. 符号位(Sign) : 0代表正 ...

  7. 02: kubernetes安装

    参考官网:http://docs.kubernetes.org.cn/ 1.1 集群部署 1.集群结构 192.168.56.11 linux-node1 linux-node1.example.co ...

  8. Vuejs——slot内容分发

    ①概述: 简单来说,假如父组件需要在子组件内放一些DOM,那么这些DOM是显示.不显示.在哪个地方显示.如何显示,就是slot分发负责的活. ②默认情况下父组件在子组件内套的内容,是不显示的. 例如代 ...

  9. chromedriver.exe下载

    淘宝的镜像地址可以下载: https://npm.taobao.org/mirrors/chromedriver/

  10. 双连通分量(点-双连通分量&边-双连通分量)

    概念: 双连通分量有点双连通分量和边双连通分量两种.若一个无向图中的去掉任意一个节点(一条边)都不会改变此图的连通性,即不存在割点(桥),则称作点(边)双连通图. 一个无向图中的每一个极大点(边)双连 ...