[Python] Python學習筆記之常用模塊總結[持續更新...]


  作為一種極其簡單的編程語言,Python目前成為了最炙手可熱的幾種語言之一。它不僅簡單易學,而且它還為用戶提供了各種各樣的模塊,功能強大,無所不能。有利必有弊,學習Python同樣有困擾,其中之一就是Python的各種模塊的各種內置函數太為繁雜,不好記憶。俗話說的好“好記性不如爛筆頭”,既然不好記憶,不如將自己經常遇到的Python模塊和相應的函數用法時常進行總結收錄,作為自己的一個查詢工具,也是一個不錯的學習方式。相信經過幾次查詢,這些模塊和函數自然而然地就銘記在心了。學習重在積累,有了量變才有質變。

1. 時間模塊——datetime

  Python提供了很多種時間模塊,比如time、datetime等。time模塊提供的接口與C標准庫time.h基本一致。相比於time模塊,datetime模塊的接口則更直觀、更容易調用。

  datetime 模塊下的類:

  • datetime.date: 表示日期的類,常用的屬性有year, month, day;
  • datetime.time: 表示時間的類,常用的屬性有hour, minute, second, microsecond, tzinfo;
  • datetime.datetime: 表示日期時間,常用的屬性有year, month, day, hour, minute, second, microsecond, tzinfo;
  • datetime.deltatime: 表示時間間隔,即兩個時間點之間的長度;
  • datetime.tzinfo: 與時區有關的相關信息。

  除了5種類以外,datetime模塊還定義了兩個常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。

  其中在這5中類里邊,真正經常使用的類是date、time和datetime類,deltatime 和 tzinfo 類至今也沒有用到過,可能對於我是“弱需求”吧。

  datetime常用用法示例:

  1. 顯示今天的日期:

import time
from datetime import date
today = date.today()
print today
顯示結果:datetime.date(2015, 8, 21)

  2. 按不同的格式輸出日期:

import time
from datetime import date
today=date.today()
today.isoformat()
顯示結果:'2015-08-21' today.strftime(
"%d/%m/%y")
顯示結果:'21/08/15' today.strftime(
"%d-%m-%y")
顯示結果:‘21-08-15’ today.strftime(
"%A %d. %B %Y")
顯示結果:'Friday 21. August 2015'

  3. 獲取當前時間戳,反解時間戳

from datetime import *
import time
print time.time()
顯示結果:1440172174.678 date.fromtimestamp(time.time()) 顯示結果:datetime.date(2015, 8, 21)

2. 文件目錄操作模塊——os

  舉兩個常用的文件目錄操作。

  比如文件目錄為:

  C:\Users\poll\Desktop\aaa--------dsa.png

                --------qq.jpg

                --------bbb(文件夾)-------ccc.txt

  1. 返回指定文件夾下的所有文件名(注:包括當前目錄下的文件夾名,但是不包含該文件夾下的子文件名)

import os
path = 'C:\\Users\\poll\\Desktop\\aaa'
files_list = os.listdir(path)

顯示結果:

  bbb
  dsa.png
  qq.jpg

  2. 返回指定文件夾下的所有文件名(注:包括子文件夾內的子文件,不包含任何文件夾的名字)

import os
import os.path
path = 'C:\\Users\\poll\\Desktop\\aaa'
files_path = []
for root, dirs, files in os.walk(path):
   for file in files:
       files_path.append(os.path.join(root, file))
       print os.path.join(root, file)

顯示結果:

  C:\Users\poll\Desktop\aaa\dsa.png
  C:\Users\poll\Desktop\aaa\qq.jpg
  C:\Users\poll\Desktop\aaa\bbb\ccc.txt

  附:os.path函數列表:

  os.path.abspath(path) #返回絕對路徑
  os.path.basename(path) #返回文件名
  os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑。
  os.path.dirname(path) #返回文件路徑
  os.path.exists(path)  #路徑存在則返回True,路徑損壞返回False
  os.path.lexists  #路徑存在則返回True,路徑損壞也返回True
  os.path.expanduser(path)  #把path中包含的"~"和"~user"轉換成用戶目錄
  os.path.expandvars(path)  #根據環境變量的值替換path中包含的”$name”和”${name}”
  os.path.getatime(path)  #返回最后一次進入此path的時間。
  os.path.getmtime(path)  #返回在此path下最后一次修改的時間。
  os.path.getctime(path)  #返回path的大小
  os.path.getsize(path)  #返回文件大小,如果文件不存在就返回錯誤
  os.path.isabs(path)  #判斷是否為絕對路徑
  os.path.isfile(path)  #判斷路徑是否為文件
  os.path.isdir(path)  #判斷路徑是否為目錄
  os.path.islink(path)  #判斷路徑是否為鏈接
  os.path.ismount(path)  #判斷路徑是否為掛載點()
  os.path.join(path1[, path2[, ...]])  #把目錄和文件名合成一個路徑
  os.path.normcase(path)  #轉換path的大小寫和斜杠
  os.path.normpath(path)  #規范path字符串形式
  os.path.realpath(path)  #返回path的真實路徑
  os.path.relpath(path[, start])  #從start開始計算相對路徑
  os.path.samefile(path1, path2)  #判斷目錄或文件是否相同
  os.path.sameopenfile(fp1, fp2)  #判斷fp1和fp2是否指向同一文件
  os.path.samestat(stat1, stat2)  #判斷stat tuple stat1和stat2是否指向同一個文件
  os.path.split(path)  #把路徑分割成dirname和basename,返回一個元組
  os.path.splitdrive(path)   #一般用在windows下,返回驅動器名和路徑組成的元組
  os.path.splitext(path)  #分割路徑,返回路徑名和文件擴展名的元組
  os.path.splitunc(path)  #把路徑分割為加載點與文件
  os.path.walk(path, visit, arg)  #遍歷path,進入每個目錄都調用visit函數,visit函數必須有 3個參數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有 文件名,args則為walk的第三個參數
  os.path.supports_unicode_filenames  #設置是否支持unicode路徑名

 

  

  


免責聲明!

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



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