python导入不同目录下的自定义模块过程解析

  

这篇文章主要介绍了python导入不同目录下的自定义模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

<强>一、代码目录结构

  

 python导入不同目录下的自定义模块过程解析

  

自定义的模块在常见的包下,研究文件下SelectionSort.py文件导入自定义的模块

  

<强>二,源码

  

2.1: SelectionSort.py文件

  

python导包默认是从sys.path中搜索的。

  

系统。路径结果如下:[' D: \ \ \ \ PyCharm \ \来源研究”,“D: \ \ PyCharm \ \源”,“D: \ \ PyCharm源\ \ \ \ \ \ python36 venv \ \脚本。Python zip”、“D: \ \ \ \ Python36 \ \ dll”、“D: Python \ \ Python36 \ \ lib \ \ ', ' D: \ \ \ \ Python36 Python”、“D: \ \ PyCharm \ \ \ \ venv来源”、“D: \ \ PyCharm \ \ \ \ venv来源\ \ lib \ \网站”、“D: \ \ PyCharm \ \ \ \ venv来源\ \ lib \ \网站\ \ setuptools-40.8.0-py3.6。蛋”、“D: \ \ \ \ PyCharm \ \来源venv \ \ lib \ \网站\ \ pip-19.0.3-py3.6.egg ']

  

从结果中可以看的到,并没有普遍,也就是说直接是不能导下入常见的模块的(即:不能写成从CreateData导入CreateData)。处理方式如下:

  

2.1.1:
  

        从常见的。CreateData进口CreateData   从常见的。交换进口互换      

2.1.2
  

        sys.path.append(“. ./普通”)   从CreateData进口CreateData   从交换进口互换      

说明:网上大多数是第二种,将自定义模块路径加入到sys.path中,未找到第一种,这个可能是版本差异?前辈们用的python2.x,不支持包名。模块名?我用的是python3.6.8
  

        导入系统   sys.path.append(. ./普通)#模块所在目录加入到搜素目录中   从CreateData进口CreateData   从交换进口互换         def selectSort (lyst):   我=0   虽然我& lt;len (lyst) - 1:   minindex=我   j=i + 1   虽然j & lt;len (lyst):   如果lyst [j] & lt;lyst [minindex]:   minindex j=j +=1   如果minindex !=我:   交换(lyst minindex)   我+=1   打印(lyst)   selectSort (createData ())      

2.2: CreateData.py文件

        def createData ():   返回[23岁,45岁,2,35岁,89年,56岁的3]      

2.3: Swap.py文件

        def交换(lst, i, j):   temp=lst(我)   lst[我]=lst [j]   lst [j]=temp      

<强>三、运行结果

  

 python导入不同目录下的自定义模块过程解析

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python导入不同目录下的自定义模块过程解析