【1】python模塊:自定義模塊的3種導入方式


一、定義

模塊就是用一堆的代碼實現了一些功能的代碼的集合,通常一個或者多個函數寫在一個.py文件里,而如果有些功能實現起來很復雜,那么就需要創建n個.py文件,這n個.py文件的集合就是模塊。如果不懂可以先看下面這篇博文:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447437605e90206e261744c08630a836851f5183000

 

二、類型

1、標准模塊

  python自帶的模塊,不需要安裝包,直接import就可以使用

2、第三方模塊

  第三方開源模塊通常需要自己去下載

3、自定義模塊

自己寫的實現自己某些功能的.py文件集合

 

二、標准模塊

我們這里主要列舉幾個常用的標准模塊:

import random  #隨機數模塊
print(random.randint(1,100))# 在1-100里隨機取一個整數
print(random.uniform(1,900))# 取一個小數,顧頭也顧尾

stus=['zhangsan','lisi','xiaohong']
print(random.choice(stus))#隨機取一個元素
print(random.choice('sdfgadsgadfg'))

print(random.sample(stus,2))# 隨機取兩個元素

l=list(range(1,101))
print('洗牌之前的',l)
print(random.shuffle(l)) #洗牌,也就是打亂,沒有返回值,只能傳list,所以下面要在print一下
print('洗牌之后的',l)

 

三、第三方模塊

大牛們開源共享許多模塊也加快了大家開發的速度,許多開源模塊可以在這里找到

https://pypi.python.org/pypi

1、安裝第三發模塊

pip install xxx

2、手動安裝:

  (1)下載.whl文件

  pip install e:\\dowload\\pymysql.whl

    (2)下載 .tar.gz文件

  ---解壓

  ---進入目錄執行 python setup.py install pymysql.tar.gz

3、列出當前裝了哪些模塊

pip list

4、導出當前已經安裝的模塊

freeze > 第三方模塊.txt

5、指定文件批量安裝模塊

pip install -r 第三方模塊.txt

四、python自定義模塊的導入方式

1、直接import

這里有個大前提,就是你的py執行文件和模塊同屬於同個目錄(父級目錄),如下圖:

  • main.py 和 pwcong模塊同在python目錄
  • 執行文件為main.py
  • pwcong文件夾為一個模塊

我把pwcong模塊提供的函數寫在 __init__.py 里,里面只提供一個 hi 函數:

# pwcong 模塊的 __init__.py
# -*- coding: utf-8 -*-

def hi():
    print("hi")

執行文件main.py直接import模塊:

# main.py
# -*- coding: utf-8 -*-

import pwcong

pwcong.hi()

 

接着我們運行一下main.py可以看到命令行窗口輸出了一句 hi ,第一種方式完成。


2、通過sys模塊導入自定義模塊的路徑path

如果執行文件和模塊不在同一目錄,這時候直接import是找不到自定義模塊的。如下圖:

  • 執行文件main.py在main目錄下
  • pwcong模塊在python目錄下

sys模塊是python內置的,因此我們導入自定義模塊的步驟如下:

  1. 先導入sys模塊
  2. 然后通過sys.path.append(path) 函數來導入自定義模塊所在的目錄。
  3. 使用sys.path.append()方法可以臨時添加搜索路徑,方便更簡潔的import其他包和模塊。這種方法導入的路徑會在python程序退出后失效。
  4. 使用sys.path.insert(0,'r'/Users/PycharmProjects/my_python/')定義搜索路徑的優先順序,序號從0開始,表示最大優先級,sys.path.insert()加入的也是臨時搜索路徑,程序退出后失效。
  5. 導入自定義模塊。

這時候 main.py 這樣寫:

# main.py
# -*- coding: utf-8 -*-

import sys
sys.path.append(r"C:\Users\Pwcong\Desktop\python")

import pwcong

pwcong.hi()

 

最后執行main.py文件,最終輸出 hi ,第二種方式完成。


3、在環境變量中找到自定義模塊

這個方法原理就是利用了系統變量,python會掃描path變量的路徑來導入模塊,可以在系統path里面添加。

模塊和執行文件目錄結構跟上圖一樣:

  • 執行文件main.py在main目錄下
  • pwcong模塊在python目錄下

我們創建一個 module_pwcong.pth 文件,里面內容就是 pwcong模塊所在的目錄:

C:\Users\Pwcong\Desktop\python

將該 module_pwcong.pth 文件放到這里:
python安裝目錄\Python35\Lib\site-packages

例如我的:

 

然后 main.py 導入並使用自定義模塊:

# -*- coding: utf-8 -*-

import pwcong

pwcong.hi()

 

最后執行 main.py 文件,可以輸出 hi ,第三種方式完成。

 

注意:使用pycham可以把文件夾加到環境變量中

直接在文件夾上右鍵 mark directory as  選擇 scorce root  直接把文件夾加到環境變量中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM