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正則表達式
模塊,就是用一坨代碼實現了某個功能的代碼集合。
相似於函數式編程和麪向過程編程,函數式編程則完成一個功能,其餘代碼用來調用便可,提供了代碼的重用性和代碼間的耦合。而對於一個複雜的功能來講,則須要多個函數才能呢完成(函數又能夠再不一樣的.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']
若是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)
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模塊提供了四個功能: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