本編將學習的是os模塊、sys模塊、隨機數模塊。python
分別是:os、sys、randomshell
Python當中的os模塊提供了豐富的方法來,對操做系統進行目錄和文件處理。bash
import os print(os.getcwd()) # 獲取當前目錄 os.chdir('..') # chdir()至關於 cd print(os.curdir) # 當前目前,至關於 . os.mkdir('dirname') # 建立單個目錄 os.makedirs('dirname1/dirname2') # 建立多層目錄 os.rmdir('dirname') # 刪除單個空目錄,若目錄不爲空則沒法刪除會報錯 os.removedirs('dirname1') # 若目錄爲空,則刪除,並遞歸到上一級目錄,如若也爲空,則刪除,依此類推 os.listdir('dirname') # 列出指定目錄下的全部文件,並以列表方式打印 os.remove('path') # 刪除一個文件 os.rename("oldname", "newname") # 重命名文件/目錄 os.stat('path/filename') # 獲取文件/目錄信息 os.system("bash command") # 運行dos/shell命令,直接顯示 os.popen("bash command").read() # 運行dos/shell命令,獲取執行結果 os.path.abspath(path) # 返回path規範化的絕對路徑 os.path.split(path) # 將path分割成目錄和文件名二元組返回 os.path.dirname(path) # 返回path的目錄。其實就是os.path.split(path)的第一個元素 os.path.realpath(__file__) # 獲取當前的目錄 os.path.basename(path) # 返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素 os.path.exists(path) # 若是path存在,返回True;若是path不存在,返回False os.path.isabs(path) # 若是path是絕對路徑,返回True os.path.isfile(path) # 若是path是一個存在的文件,返回True。不然返回False os.path.isdir(path) # 若是path是一個存在的目錄,則返回True。不然返回False os.path.join('dirname1', 'dirname2') # 將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略 os.path.getatime(path) # 返回path所指向的文件或者目錄的最後訪問時間 os.path.getmtime(path) # 返回path所指向的文件或者目錄的最後修改時間 os.path.getsize(path) # 返回path的大小 print(os.sep) # 輸出操做系統特定的路徑分隔符,win下爲"\\",Linux下爲"/" print(os.linesep) # 輸出當前平臺使用的行終止符,win下爲"\r\n",Linux下爲"\n" print(os.pathsep) # 輸出用於分割文件路徑的字符串 win下爲;,Linux下爲: print(os.name) # 輸出字符串指示當前使用平臺。win->'nt'; Linux->'posix'
1.sys模塊是與python解釋器交互的一個接口:dom
import sys print(sys.path) # python模塊目錄路徑(python環境變量) print(sys.path.clear()) # 清空python模塊環境變量 print(sys.version) # 獲取當前 python 版本信息 print(sys.platform) # 獲取系統版本(不許確的) print(sys.argv) # 命令行參數list print(sys.exit(0)) # 參數0正常退出,1異常退出
2.sys.argv 命令行參數用法:編輯器
在dos命令或shell命令下執行,python3 py文件path 參數1 參數2....(編輯器裏運行一定報錯)函數
import sys res_avg = sys.argv name = res_avg[1] pwd = res_avg[2] print(type(name), name, type(pwd), pwd) if name == 'gsxl' and pwd == '123456': print('登陸成功!') else:print('帳戶或密碼錯誤!!!')
G:\python_study\study\study_python\python_Basics>python day18.py Traceback (most recent call last): File "day18.py", line 81, in <module> name = res_arvg[1] IndexError: list index out of range G:\python_study\study\study_python\python_Basics>python day18.py gsxl 123456 <class 'str'> gsxl <class 'str'> 123456 登陸成功!
能夠看到:python day18.py gsxl 123456,傳入了參數1 參數2,若是沒傳是沒有這個變量那麼運行腳本確定是會報錯。學習
1.隨機數模塊方法:spa
''' 1、random:隨機數模塊 ''' import random print(random.random()) # 大於0且小於1之間的小數 print(random.uniform(1, 3)) # 大於1小於3的小數 print(random.randint(1, 5)) # 大於等於1且小於等於5之間的整數 print(random.randrange(1, 10, 2)) # 大於等於1且小於10之間的奇數 print(random.randrange(2, 11, 2)) # 大於等於2且小於等於10之間的偶數 print(random.choice([1, '23', [4, 5]])) # 1或者23或者[4,5]) print(random.sample([1, '23', [4, 5]], 2)) # 列表元素任意2個組合,返回的個數爲函數的第二個參數
2.隨機生成6位驗證碼:操作系統
import random def v_code(): code = '' for i in range(6): num = random.randint(0, 9) alf = chr(random.randint(65, 90)) add = random.choice([num, alf]) code = "".join([code, str(add)]) return code print(v_code())
歡迎來你們QQ交流羣一塊兒學習:482713805命令行