Python經常使用模塊學習

1.模塊介紹python

2.time & datetime模塊linux

3.random正則表達式

4.osshell

5.sysmacos

6.shutil編程

7.json&picklejson

8.shelvebash

9.xml處理app

10.yaml處理dom

11.configparser

12.hashlib

13.subprocess

14.logging模塊

15.re正則表達式

1.模塊

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

相似於函數式編程和麪向過程編程,函數式編程則完成一個功能,其餘代碼用來調用便可,提供了代碼的重用性和代碼間的耦合。而對於一個複雜的功能來講,則須要多個函數才能呢完成(函數又能夠再不一樣的.py文件中),n個.py文件組成的代碼集合就稱爲模塊。

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

模塊分爲3種:

  • 自定義模塊
  • 內置模塊
  • 開源模塊

自定義模塊:

1.定義模塊

情景一:

情景二:

情景三:

????????????????????????????????????

2.導入模塊

導入模塊有如下幾種方法:

 

1 import module
2 from module.xx.xx import xx
3 from module.xx.xx import xx as rename
4 from module.xx.xx import *

 

 導入模塊其實就是告訴Python解釋器去解釋那個.py文件

 

 導入一個py文件,解釋器解釋該py文件

導入一個包,解釋器解釋該包下的_init_.py文件

那麼問題來了,導入模塊時是根據哪一個路徑做爲基準來進行的呢?即:sys.path

import sys
print sys.path
結果:
['/Users/wupeiqi/PycharmProjects/calculator/p1/pp1', '/usr/local/lib/python2.7/site-packages/setuptools-15.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg', '/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/xlutils-1.7.1-py2.7.egg', '/usr/local/lib/python2.7/site-packages/xlwt-1.0.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/xlrd-0.9.3-py2.7.egg', '/usr/local/lib/python2.7/site-packages/tornado-4.1-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/backports.ssl_match_hostname-3.4.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/certifi-2015.4.28-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pyOpenSSL-0.15.1-py2.7.egg', '/usr/local/lib/python2.7/site-packages/six-1.9.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/cryptography-0.9.1-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/cffi-1.1.1-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/ipaddress-1.0.7-py2.7.egg', '/usr/local/lib/python2.7/site-packages/enum34-1.0.4-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pyasn1-0.1.7-py2.7.egg', '/usr/local/lib/python2.7/site-packages/idna-2.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pycparser-2.13-py2.7.egg', '/usr/local/lib/python2.7/site-packages/Django-1.7.8-py2.7.egg', '/usr/local/lib/python2.7/site-packages/paramiko-1.10.1-py2.7.egg', '/usr/local/lib/python2.7/site-packages/gevent-1.0.2-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/greenlet-0.4.7-py2.7-macosx-10.10-x86_64.egg', '/Users/wupeiqi/PycharmProjects/calculator', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']
View Code

 若是sys.path路徑列表沒有你想要的路徑,能夠經過sys.path.append(‘路徑’)添加

經過os模塊能夠獲取各類目錄

1 import sys
2 import os
3 
4 pre_path = os.path.abspath('../')
5 sys.path.append(pre_path)
View Code

開源模塊

1、下載安裝

下載安裝有兩種方式:

yum
pip
apt-get
方式一
方式二

 備註:在使用源碼安裝時,須要使用到gcc編譯和Python開發環境,因此,須要先執行:

1 yum install gcc
2 yum install python-devel
3 4 apt-get python-dev

 

2、導入模塊

同自定義模塊中導入的方式

內置模塊

1、os

用於提供系統級別的操做

 1 os.getcwd() 獲取當前工做目錄,即當前Python腳本工做的目錄路徑
 2 os.chdir("dirname")改變當前腳本工做目錄;至關於shell下cd
 3 os.curdir 返回當前目錄:('.')
 4 os.pardir 返回當前目錄的父目錄字符串名:('..')
 5 os.makedirs('dirname1/dirname2')可生成多層遞歸目錄
 6 os.removedirs('dirname1') 若目錄爲空 ,則刪除,並地櫃到上一級目錄,如若也爲空,則刪除,以此類推
 7 os.mkdir('dirname') 生成單級目錄;至關於shell中mkdir dirname
 8 os.rmdir("dirname") 刪除單級空目錄,若目錄不爲空則沒法刪除,報錯;至關於shell中rmdir dirname
 9 os.listdir("dirname") 列出指定目錄下的全部文件和子目錄,煲劇哦隱藏文件,並以列表方式打印
10 os.remove() 刪除一個文件
11 os.rename("oldname","newname") 重命名文件/目錄
12 os.stat("path/filename") 獲取文件/目錄信息
13 os.sep 輸出操做系統特定的路徑分隔符,win下爲「\\」,linux下爲「/14 os.linesep 輸出當前平臺使用的行終止符,win下爲「\t\n」,linux下爲「\n」
15 os.pathsep 輸出用於分隔文件路徑的字符串
16 os.name 輸出置頂字符串指示當前使用平臺。win->'nt';linux->'posix'
17 os.system("bash command") 運行shell命令,直接顯示
18 os.environ 獲取系統環境變量
19 os.path.abspath(path) 返回path規範化的絕對路徑
20 os.path.split(pah) 將path分隔成目錄和文件名二元組返回
21 os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
22 os.path.basename(path) 返回path最後的文件名。若是path以/或、結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
23 os.path.exist(path) 若是path存在,返回true;若是path不存在,返回False
24 os.path.isabs(path) 若是path是絕對路徑,返回True
25 os.path.isfile(path) 若是path是一個存在的文件,返回True。不然返回False
26 os.path.isdir(path) 若是path是一個存在的目錄,則返回True。不然韓慧False
27 os.path.join(path[,path2[,...]])將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略
28 os.path.getatime(path) 返回path所指向的文件或者目錄的最後存取時間
29 os,path.getmtime(path) 返回path所指向的文件或者目錄的最後修改時間

 2、sys

用於提供對解釋器相關的操做

1 sys.argv            命令行參數list,第一個元素是程序自己路徑
2 sys.exit(n)        退出程序,正常退出時exit()
3 sys.version        獲取Python解釋程序的版本信息
4 sys.maxint        最大的Int值
5 sys.path            返回模塊的搜索路徑,初始化時使用Python環境變量的值
6 sys.platform      返回操做系統平臺名稱
7 sys.stdout.write('please:') 標準輸出流,一個類(file—like)文件對象
8 val = sys.stdin.readline()[:-1] 標準輸入流,一個類文件對象

 

3、hashlib

用於加密相關的操做,代替了md5模塊和sha模塊,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5suanfa

4、json和pickle模塊

用於序列化的兩個模塊

  • json,用於字符串和Python數據類型間進行轉換
  • pickle,用於Python特有的類型和Python的數據間進行轉換

Json模塊提供了四個功能:dumps、dump、load、loads

pickle模塊提供了四個功能:dumps、dump、load、loads

4、time&datetime模塊

5、random模塊

6、shutil模塊

7、shelve模塊

8、xml處理模塊

9、configparser模塊

10、subprocess模塊

11、logging模塊

12、re模塊

 

的v

相關文章
相關標籤/搜索