1. 程式人生 > >python_day12_模組、標準庫、常用模組

python_day12_模組、標準庫、常用模組

模組一旦被呼叫,即相當於執行了另外檔案裡的程式碼
模組分為三種:

新增path 跨模組匯入

  • import sys,os
  • sys.path.append(os.path.dirname(os.path.abspath(file)))

time 模組

  • time.time() 時間戳
  • time.localtime() 作業系統時間得到一個時間元組
  • time.gmtime() UTC時間
  • time.mktime() 將一個時間元組轉為時間戳
  • time.sleep(1) 將程式睡眠1s
  • time.asctime() 將時間元組表示為“Thu Oct 1 12:23:45”
  • time.ctime() 將時間戳表示為“Thu Oct 1 12:23:45”
  • time.strftime(’%Y-%m-%d %H:%M:%S %p’, a ) 將時間物件a轉換為指定格式
  • time.strptime(b,’%Y-%m-%d %H:%M:%S %p’) 將指定格式的字串轉為時間元組
  • 時間物件之間轉換關係在這裡插入圖片描述

datetime 模組

  • datetime.date() 表示日期的類
  • datetime.time() 表示時間的類
  • datetime.datetime() 表示日期時間
  • datetime.timedate() 表示時間間隔,即兩個時間點之間的長度
  • datetime.tzinfo() 暫時沒明白。 可以參考python手冊(不常用)
  • datetime.datetime.now() 返回一個時間物件
  • datetime.date.fromtimestamp(時間戳) 快速得到時間戳的年月日
  • a = datetime.datetime.now()
    a.replace(year=2017)
    datetime.datetime(2017, 11, 16, 18, 25, 31, 982607)

random 模組

  • random.randint(1,100) 1-100 包含100
  • random.randrange(1,100) 1-100 不包含100
  • random.random() 返回一個隨機數
  • random.choice(‘sasdfsdf’) 隨機返回字串內某個字元
  • random.sample(“sssssfsdfasdfas”,4) 隨機返回字串內某4個字元
  • random.shuffle(a) 隨機排序列表a 的元素

os模組

  • os.getcwd() 得到檔案呼叫時的目錄
  • os.listdir() 返回指定目錄下的所有檔案和目錄名
  • os.remove() 刪除檔案
  • os.removedirs() 刪除多個目錄
  • os.path.isfile() 判斷給出的路徑是否為一個檔案
  • os.path.isdir() 判斷給出的路徑是否為一個目錄
  • os.path.isabs() 判斷是否為絕對路徑
  • os.path.exists() 檢驗路徑是否真的存在
  • os.path.split() 返回路徑的目錄名和檔名
  • os.path.splitest() 分離副檔名
  • os.path.dirname() 獲取路徑名
  • os.path.abspath() 獲取絕對路徑
  • os.path.basename() 獲取檔名
  • os.system() 執行shell命令
  • os.getenv(" HOME") 讀取環境變數HOME的值
  • os.environ() 返回作業系統所有的環境變數
  • os.environ.setdefault(‘HOMT’,’/home/cobitry’) 設定系統環境變數(僅在本次程式啟動時有效)
  • os.linesep 給出當前平臺使用的行終止符、(win: \r\n, linux\unix: \n)
  • os.name 給出當前使用的平臺(win:‘nt’ , linux/unix: “posix” )
  • os.rename(old,new) 重新命名
  • os.makedirs(r"python\test") 建立多級目錄
  • os.mkdir(“test”) 建立單個目錄
  • os.stat(filename) 獲取檔案屬性
  • os.chmod(filename) 修改檔案許可權與時間戳
  • os.exit() 終止當前程序
  • os.path.getsize(filename) 獲取檔案大小
  • os.path.join(dir.filename) 結合目錄名和檔案大小
  • os.chdir(dirname) 改變工作目錄到dirname
  • os.get_terminal_size() 獲取當前終端視窗大小
  • os.kill(pid, signal.SIGKILL) 殺死程序

sys 系統模組

  • sys.argv 命令列引數List, 第一個元素是程式本身,其他元素是在執行python時附帶的引數(python3 test.py cobitry hello 其中argv列表第一個元素為test.py第二個為cobitry 第三個為hello)
  • sys.exit(n) 退出程式 並列印n
  • sys.version 列印py的版本
  • sys.maxsize 在python3中列印int的最大值, python2中為sys.maxint
  • sys.platform 列印當前系統版本
  • sys.stdout 返回結果(<_io.TextIOWrapper name=’’ mode=‘w’ encoding=‘UTF-8’>) 提供各種方法。 sys.stdout.write :在當前螢幕輸出 sys.stdout.read() 【readline 等各種方法】
  • sys.getrecursionlimit() 改變最大遞迴層數
  • sys.getdefaultencoding() 獲取直譯器預設編碼
  • sys.getfilesystemencoding 獲取記憶體資料存到檔案裡的預設編碼

shtull 檔案操作模組

  • 參考大佬http://www.cnblogs.com/wupeiqi/articles/4963027.html
  • shtull.copyfileobj(fsrc,fdst[,length]) 開啟檔案 拷貝檔案
  • shtull.copyfile(src,dst) 拷貝檔案、不用開啟檔案(在原始碼中開啟)
  • shtull.copymode(src,dst) 拷貝許可權,但是內容、組、使用者不變
  • shtull.copystat(src,dst) 拷貝 mode atime mtime bits flags
  • shtull.copy(src,dst) 拷貝檔案和許可權
  • shtull.copy2(src,dst) 拷貝檔案和狀態資訊
  • shutil.ignore_patterns(patterns)
    shutil.copytree(src, dst, symlinks=False, ignore=None)
    遞迴的去拷貝檔案 例如:copytree(source, destination, ignore=ignore_patterns(’
    .pyc’, ‘tmp*’)) 拷貝包。 ignore_patterns 可以設定忽略某些檔案
  • shutil.rmtree(src, dst,symlinks=False,ignore=None) 遞迴刪除檔案 ignore 可設定忽略某些檔案
  • shutil.move() 移動檔案、(相當於剪下)
  • shutil.make_archive(base_name,format,…)
    base_name: 壓縮完成後儲存的位置
    format: 壓縮包的種類 “zip”“tar”“bztar”“gztar”
    root_dir: 要壓縮的資料夾路徑(預設當前目錄)
    owner: 使用者,預設當前使用者
    group: 組,預設當前組
    logger: 用於記錄日誌,通常是logging.Logger物件