python--模塊、正則

一、模塊python

  import 模塊的實質就是把導入模塊的代碼,從上到下執行一遍,找模塊的順序是,先找當前目錄,再到環境變量裏查找;正則表達式

  模塊分爲標準模塊、第三方模塊、本身寫的模塊。其安裝方式以下:spa

  標準模塊操作系統

    python自帶,無需安裝,直接import便可命令行

  本身寫的模塊調試

    本身寫的pythoncode

  第三方模塊orm

    別人開發好的功能,須要安裝
blog

    安裝方式1:遞歸

      自動安裝

      pip install xxx #安裝xxx模塊

      pip list #查看已安裝的模塊

      pip uninstall xxx #卸載xxx模塊

      pip模塊,在python3裏自帶,python2裏須要手動安裝

      另:easy_install xxx 也能夠直接安裝

    安裝方式2:

      手動安裝

      下載安裝包,解壓,進入目錄

      cmd裏運行安裝命令 python xxx install

      eg:python setup.py install

二、os 模塊

 1      print(os.getcwd())                    #取當前工做目錄
 2         print(os.chdir(r"e:\byz_code\day2"))       #更改當前目錄
 3         print(os.mkdir("test1"))              #建立文件夾
 4         print(os.makedirs(r"test1\test2"))        #遞歸建立文件夾,父目錄不存在時建立父目錄
 5         print(os.removedirs(r"test1\test2"))       #遞歸刪除空目錄
 6         print(os.rmdir("test1"))              #刪除指定的文件夾,只能刪除空文件夾
 7         print(os.remove(r"E:\byz_code\day4\a.txt"))   #刪除文件
 8         os.rename("test","test1")              #重命名
 9         print(os.sep)                     #當前操做系統的路徑分隔符
10         print(__file__)                    #表明當前文件
11         print(os.path.abspath('bb.py'))          #獲取絕對路徑
12         print(os.path.dirname())              #獲取父目錄
13         print(os.path.exists("hhaaa"))           #目錄/文件是否存在
14         print(os.path.isfile("bb.py"))            #判斷是不是一個文件
15         print(os.path.isdir("/usr/local"))        #是不是一個路徑
16         print(os.path.join("root",'hehe','haha','a.log')) #路徑拼接

三、time 模塊

1 time.sleep(1)                  #sleep1s
2 print(int(time.time()))           #取當前時間戳
3 print(time.strftime("%y%m%d %H%M%S"))  #將時間元組轉換成格式化輸出的字符串

四、sys 模塊

1 sys.argv                        #命令行參數List,第一個元素是程序自己路徑
2 sys.exit('xxxxx')               #退出程序,正常退出時exit(0)
3 sys.path                     #返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
4 sys.platform                 #返回操做系統平臺名稱
  if __name__=='__main__'          #爲當前調試代碼,只在本文件執行

五、正則表達式

  用來查找字符串,能查找比較複雜的字符串,import re 用來導入正則表達式。

1 re.search(r'is',s).group()          #匹配字符串,整個內容查找,若找到則返回第一個
2 re.findall(r'is',s)              #整個內容查找,返回全部值,造成一個list
3 print(re.sub(r'best','BEST',s))        #替換字符串,接收3個參數,
4                                       第一個是正則表達式,第二個是要替換成什麼,
5                                       第三個就是要查找的字符串
6                                       若匹配不到,返回原字符串
7     re.split('is',s)                #分隔字符串

  經常使用表達式符號:

    數量詞

 1      *     匹配前面的字符的0次或屢次,只是*前面的一個字符
 2         +     匹配前一個字符1次或屢次,只是+前面一個字符
 3         ?    匹配前一個字符1次或0次,只是?前面的一個字符
 4         {m}    匹配前一個字符m次
 5         {m,n}  匹配前一個字符m-n次
 6         .      匹配除/n之外的其餘字符
 7         \     轉譯符,好比想找特殊字符,就須要轉移
 8         |      匹配|左邊或右邊的字符
 9         ^      匹配以什麼字符開頭,多行狀況下匹配每一行的開頭,須要指定第三個參數re.M
10                print(re.findall(r'^b','best is goodb is bes\nbesttt is hha ',re.M))

    邊界匹配

1      ^     匹配以什麼字符開頭,多行狀況下匹配每一行的開頭,須要指定第三個參數re.M
2               print(re.findall(r'^b','best is goodb is bes\nbesttt is hha ',re.M))
3         $     匹配以什麼字符結尾,多行時匹配每一行結尾,需指定第三個參數re.M
4               print(re.findall(r'd$','besttest is good\nbest is good',re.M))
5         \A    僅以什麼字符開頭,不能用於多行
           print(re.findall(r'\Ab','besttest is good'))
6 \Z   僅以什麼字符結尾,不能用於多行
           print(re.findall(r'd\Z','besttest is good'))

    預約義字符

 1 \d  匹配全部數字
 2         \D  匹配非數字
 3         \w  匹配數字、字母、中文
 4         \W  匹配特殊字符
 5         \s  匹配空白字符,如\t \n \r 空格等
 6         \S  匹配非空白字符
7 [xxxx] 字符集合,匹配集合裏的任意一個字符 8 [A-z] 大小寫字母 9 [a-z] 小寫字母 10 [A-Z] 大寫字母 11 [0-9] 全部數字 12      在[]裏面若是用^的話表明取反,也就是不包括的這些字符串的

    分組匹配

      把某些規則寫在一個組裏,直接對這個組進行匹配,如IP地址規則

1     print(re.findall(r'\d{1,3}(?:\.\d{1,3}){3}',"192.168.1.3"))
2         findall方法裏面有分組的話,默認結果就只是分組裏面的內容
3             【?:】 啓用「不捕捉模式」
相關文章
相關標籤/搜索