一、**目錄結構
自定義的模組在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 +
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檔案
akeoqqw
def swap(lst, i, j):
temp = lst[i]
lst[i] = lst[j]
lst[j] = temp
三、執行結果
本文標題: python匯入不同目錄下的自定義模組過程解析
本文位址: /jiaoben/python/286975.html
Python在不同目錄下匯入模組的方法
python在不同層級目錄import模組的方法 使用python進行程式編寫時,經常會呼叫不同目錄下的模組及函式。本篇部落格針對常見的模組呼叫講解匯入模組的方法。1.同級目錄下的呼叫 目錄結構如下 src mod1.py test1.py 若在程式test1.py中匯入模組mod1,則直接使用 i...
Python模組及不同目錄下匯入模組方法
在實際程式開發過程中,隨著我們 越寫越多,檔案中 越來越長,最終導致越來越難以維護。為了編寫可維護 我們可以把很多函式分組,分別放到不同檔案裡。在python中,乙個 py 檔案就稱為乙個模組 module 為避免模組名衝突,python引入了按目錄來組織模組的方法,稱為包 package 使用模組...
Discuz NT不同目錄下安裝方法
不同目錄下的安裝方法 根據目前大家對論壇的使用需求,在安裝上面大致有三種情況,站點根目錄下安裝,站點虛擬目錄下安裝和站點子目錄下安裝。根目錄安裝是最簡單也是穩定係數最高的安裝和使用方式,為我們的推薦方式。論壇配置項不需要做任何調整,只需要將站點程式 安裝包upload files目錄內的所有檔案 上...