Python常用模塊sys,os,time,random功能與用法實例分析
本文實例講述了Python常用模塊sys,os,time,random功能與用法。分享給大家供大家參考,具體如下:
sys:
介紹:主要包含涉及python編譯器與系統(tǒng)交互的函數(shù)。
常用函數(shù):
import sys print(sys.argv)#本文件名,已經(jīng)運行該程序時的參數(shù) #[如在命令窗口中python3 mysys.py 參數(shù)1 參數(shù)2] #那么參數(shù)1為sys.argv[1],以此類推 print(sys.version)#python版本號 print(sys.path)#返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值 # sys.exit(0)#中途退出程序,當參數(shù)非0時,會引發(fā)一個SystemExit異常
sys.stdout.write()#在屏幕中打印 sys.stdout.flush()#刷新標準緩沖區(qū)
os:
介紹:這個模塊提供了一種方便的使用操作系統(tǒng)函數(shù)的方法。
常用函數(shù):
import os print("-------getcwd()獲取當前目錄-------") print(os.getcwd()) print("-------chdir()改變當前所在目錄-------") # print(os.chdir("c://users"))#c:\\users r'c:\users' # print(os.getcwd()) print("------ . .. --------") print(os.curdir) #打印出 . print(os.pardir) #打印出 .. print("-------makedirs遞歸創(chuàng)建目錄-------") #os.makedirs(r"c:\a\b\c") #要創(chuàng)建c,如果a不存在則創(chuàng)建a,如果b不存在則創(chuàng)建b print("-----remodir遞歸刪除目錄---------") #os.removedirs(r"c:\a\b\c") #清除空文件夾,從c到a,如果a,b也是空的話也會刪除。 print("------mkdir創(chuàng)建目錄--------") # os.mkdir('c://a') print("--------listdir列出指定目錄下的所有文件和子目錄------") print(os.listdir()) print("--------remove刪除文件------") # print(os.remove('c://newfile')) print("-------rename文件重命名-------") # os.rename('oldname','newname') print("-------stat 獲取文件或目錄信息-------") print(os.stat('.')) print("------sep 輸出操作系統(tǒng)特點的路徑分割符--------") print(os.sep) print("-----linesep 輸出當前平臺的行終止符---------") list1=[] list1.append(os.linesep) print(list1) print("------pathsep 輸出用于分割文件的字符串--------") print(os.pathsep) print("----------name輸出操作平臺----------") # print(os.name)#nt print("-------system執(zhí)行shell命令-------------") print(os.system("dir")) print("----------path關(guān)于文件和目錄的操作----------") # print(os.path.abspath(__file__))###返回絕對路徑 print(os.path.split(os.path.abspath(__file__)))##將路徑切割成目錄名和文件名 print(os.path.dirname(os.path.abspath(__file__)))#只取路徑名 print(os.path.dirname(__file__))###__file__是包括完整路徑名的,也是絕對路徑 print(os.path.basename(__file__))#只取文件名 print(os.path.exists("c://a"))#判斷路徑是否存在,不區(qū)分目錄或文件 print(os.path.isabs(__file__))#判斷是否是絕對路徑 print(os.path.isfile("c://amd"))#判斷是否是文件 print(os.path.join(r'c:',r'\a.txt'))#組合絕對路徑 print("----------environ獲取當前系統(tǒng)所有環(huán)境變量----------") print(os.environ) print("---------popen() 方法用于從一個命令打開一個管道-----------") print(os.popen('dir').read())##主要用于處理執(zhí)行命令的返回結(jié)果 print("獲取進程號".center(50,'-')) print(os.getpid())#獲取當前進程號 print(os.getppid())#獲取父進程號
注意:
os.system跟os.popen的主要區(qū)別是前者返回值是腳本的退出狀態(tài)碼,后者的返回值是腳本執(zhí)行過程中的存儲輸出內(nèi)容的一個文件描述符。
附:
subprocess模塊是python從2.4版本開始引入的模塊。主要用來取代 一些舊的模塊方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通過子進程來執(zhí)行外部指令,并通過input/output/error管道,獲取子進程的執(zhí)行的返回信息。
詳情:http://www.dbjr.com.cn/article/141847.htm
time:
介紹:包含關(guān)于時間的函數(shù)
常用函數(shù):
import time print("--------時間戳-------------") print("時間戳time:",time.time())#時間戳time: 1516435471.756463 print("----------結(jié)構(gòu)化時間(tm_year=2018, tm_mon=1.....-----------") print("struct_time:",time.gmtime(time.time()))#tm_year=2018, tm_mon=1......... print("timestamp->struct_time:",time.gmtime())#UTC時間 print("local_time:",time.localtime())#本地時區(qū)時間 print("struct_time->timstamp:",time.mktime(time.gmtime()))#結(jié)構(gòu)化時間-->時間戳 print("----------ctime,asctime--------") print("string_time:",time.ctime())###字符串時間 Mon Feb 5 01:02:06 2018 print("asctime:",time.asctime())###字符串時間 Mon Feb 5 01:02:06 2018 print("----------format_time格式化時間、struct_time-----------") #結(jié)構(gòu)化時間轉(zhuǎn)格式化時間:%Y代表year,%m代表month,%d代表day, %H代表hour,%M代表minute,%S代表second #只會取代%Y等字符,并不替換無對應意義的字符 print("struct_time -> format_time:\n", time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) y=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #格式化時間轉(zhuǎn)結(jié)構(gòu)化時間 print("format_time -> struct_time:\n",time.strptime(y,"%Y-%m-%d %H:%M:%S")) print("------------year--------------") print("year:",time.localtime().tm_year)
random:
介紹:存儲著關(guān)于“隨機”的函數(shù)
常用函數(shù):
import random print("---------0到1,隨機浮點值-----------") print(random.random()) print("------------從范圍中,隨機取值,1<=x<=2--------") print(random.randint(1,2)) print("------------從指定范圍中,隨機取值--------") print(random.randrange(1,3)) print("------------從序列中,隨機值--------") print(random.choice("hello"))#從序列中隨機取值 print(random.choice([0,11,3,99])) print("------------從序列中,隨機取指定個數(shù)值--------") print(random.sample('heigo',2))# print("------------隨機取浮點值,start,end--------") print(random.uniform(1,2))#start,end print("-------洗牌,打亂排序-----") l=[0,3,4,5,67,9] random.shuffle(l) print(l)
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python pandas對excel的操作實現(xiàn)示例
這篇文章主要介紹了Python pandas對excel的操作實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07VSCode運行或調(diào)試python文件無反應的問題解決
這篇文章主要給大家介紹了關(guān)于VSCode運行或調(diào)試python文件無反應的問題解決,使用VScode編譯運行C/C++沒有問題,但是運行Python的時候出了問題,所以這里給大家總結(jié)下,需要的朋友可以參考下2023-07-07python爬蟲實現(xiàn)POST request payload形式的請求
這篇文章主要介紹了python爬蟲實現(xiàn)POST request payload形式的請求,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python中文分詞庫jieba(結(jié)巴分詞)詳細使用介紹
這篇文章主要介紹了Python中文分詞庫jieba(結(jié)巴分詞)提取詞,加載詞,修改詞頻,定義詞庫詳細使用介紹,需要的朋友可以參考下2022-04-04