Python 模塊

来源:http://www.cnblogs.com/ernest-zhang/archive/2016/07/02/5635038.html
-Advertisement-
Play Games

模塊,用一坨代碼實現了某個功能的代碼集合。 類似於函數式編程和麵向過程編程,函數式編程則完成一個功能,其他代碼用來調用即可,提供了代碼的重用性和代碼間的耦合。而對於一個複雜的功能來,可能需要多個函數才能完成(函數又可以在不同的.py文件中),n個 .py 文件組成的代碼集合就稱為模塊。 如:os 是 ...


模塊,用一坨代碼實現了某個功能的代碼集合。 

類似於函數式編程和麵向過程編程,函數式編程則完成一個功能,其他代碼用來調用即可,提供了代碼的重用性和代碼間的耦合。而對於一個複雜的功能來,可能需要多個函數才能完成(函數又可以在不同的.py文件中),n個 .py 文件組成的代碼集合就稱為模塊。

如:os 是系統相關的模塊;file是文件操作相關的模塊

模塊分為三種:

  • 自定義模塊
  • 內置模塊
  • 開源模塊
自定義模塊 對於我們編寫的以.py結尾的文件,我們都可以當做自定義模塊來調用,調用之前需要先導入,然後即可使用模塊中定義的功能。     導入模塊 import 模塊名 from 文件夾 import 模塊名 from 文件夾 import 模塊名 as 別名    #對導入的模塊重命名在導入模塊的時候,Python會根據路徑去尋找,路徑存儲在sys.path中。
>>> import sys
>>> sys.path
['', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\
\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27
', 'C:\\Python27\\lib\\site-packages']
>>>

  第一個空格表示在當前文件夾中尋找,如果找不到依次按照列表的路徑尋找。一般我們將第三方模塊放置在C:\\Python27\\lib\\site-packages(Linux為/usr/lib/python2.7/site-packages/

如果sys.path路徑列表沒有你想要的路徑,可以通過 sys.path.append('路徑') 添加。
通過os模塊可以獲取各種目錄,例如:

import sys
import os
pre_path = os.path.abspath('../')
sys.path.append(pre_path)
安裝第三方庫 下載安裝有兩種方式:  1.   pip3 install requests        yum        apt-get    2.   源碼安裝:下載源碼,解壓後切換到當前目錄     執行python setup.py install
下載源碼
解壓源碼
進入目錄
編譯源碼    python setup.py build
安裝源碼    python setup.py install
在下載安裝源碼的時候可能會用到gcc編譯和Python開發環境,需要先執行: yum install gcc yum install python-devel apt-get python-dev

Python內置模塊

一、sys

提供和系統有關的操作命令
sys.argv           命令行參數List,第一個元素是程式本身路徑
sys.exit(n)        退出程式,正常退出時exit(0)
sys.version        獲取Python解釋程式的版本信息
sys.maxint         最大的Int值
sys.path           返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變數的值
sys.platform       返回操作系統平臺名稱
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]

二、haslib

用於加密相關的操作,代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 演算法

import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update('admin')
print hash.hexdigest()
 
# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update('admin')
print hash.hexdigest()
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update('admin')
print hash.hexdigest()
 
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update('admin')
print hash.hexdigest()
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update('admin')
print hash.hexdigest()

為了避免通過撞庫來反解加密信息,我們可以加key值為加密信息加‘鹽’

import hashlib   # ######## md5 ########   hash = hashlib.md5('898oaFs09f') #括弧內的內容相當於‘鹽’ hash.update('admin') print hash.hexdigest()     還有一些內置模塊之前寫到過,可以轉到其他博客看看

python 內置模塊-re

Python 內置模塊:os模塊

python內置模塊-json和pickle

python內置模塊-random

Python內置模塊-time && datatime

python 內置模塊--collections

     模塊功能 __name__  只有在執行當前文件的時候,才等於__main__ __file__  #當前文件的路徑 __doc__  #註釋 __cache__  #pyc文件  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 還是先上效果圖: 看完了上一篇UWP Composition API - GroupListView(一)的童鞋會問,這不是跟上一篇一樣的嗎??? 騙點擊的?? No,No,其實相對上一個有更簡單粗暴的方案,因為上篇是為了研究Composition API,所以含著淚都要做完(有沒有被騙的趕腳)。。 ...
  • 最終我決定通過webbrowser模擬登陸支付寶,獲取數據。根據業務需求,我需要把獲取支付寶的數據做成介面,供業務去調用。難點在於如何可以穩定的切換賬號,並且保證服務24小時可用。需要處理一系列的異常和超時。缺點是這邊變成單線程,登錄獲取數據只能一個進行完了再進行下一個。 簡單列下登錄流程 爬蟲服務 ...
  • ...
  • 題目:統計一個數字在排序數組中出現的次數。例如,輸入排序數組{1,2,3,3,3,3,4,5}和數字3,由於3在這個數組中出現了4次,因此輸出4. 思路1:該解法是最直觀的解法,可以先使用二分查找先找到這個元素,然後分別向左和向右遍歷,把左右相同的元素的個數都計算出來。 思路2:使用二分查找的拓展, ...
  • 轉載自http://www.infoq.com/cn/articles/netty-high-performance 1. 背景 1.1. 驚人的性能數據 最近一個圈內朋友通過私信告訴我,通過使用Netty4 + Thrift壓縮二進位編解碼技術,他們實現了10W TPS(1K的複雜POJO對象)的... ...
  • 懶人記錄 Hadoop2.7.1 集群搭建過程 2016-07-02 13:15:45 總結 除了配置hosts ,和免密碼互連之外,先在一臺機器上裝好所有東西 配置好之後,拷貝虛擬機,配置hosts和免密碼互連 之前在公司裝的時候jdk用的32位,hadoop的native包不能正常載入,浪費好多 ...
  • 開頭話: 網站,說實話,是第一次做,也就直接選擇了ThinkPHP這個開源框架。選擇這個框架的原因。。。已經不記得了 貌似在我當時的認知中只有這個了,其它更優秀的框架也是這個畢業設計做到後期再去瞭解的。想起來了,是覺得相對 於使用java開發web,感覺php的直接可解析性更加方便於開發,能讓我節省 ...
  • 在這之前寫過關於java讀,寫Excel的blog如下: Excel轉Html java的poi技術讀,寫Excel[2003-2007,2010] java的poi技術讀取Excel[2003-2007,2010] java的poi技術讀取Excel數據到MySQL java的jxl技術導入Exc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...