Python常用模塊sys,os,time,random功能與用法實(shí)例分析
本文實(shí)例講述了Python常用模塊sys,os,time,random功能與用法。分享給大家供大家參考,具體如下:
sys:
介紹:主要包含涉及python編譯器與系統(tǒng)交互的函數(shù)。
常用函數(shù):
import sys print(sys.argv)#本文件名,已經(jīng)運(yùn)行該程序時(shí)的參數(shù) #[如在命令窗口中python3 mysys.py 參數(shù)1 參數(shù)2] #那么參數(shù)1為sys.argv[1],以此類(lèi)推 print(sys.version)#python版本號(hào) print(sys.path)#返回模塊的搜索路徑,初始化時(shí)使用PYTHONPATH環(huán)境變量的值 # sys.exit(0)#中途退出程序,當(dāng)參數(shù)非0時(shí),會(huì)引發(fā)一個(gè)SystemExit異常
sys.stdout.write()#在屏幕中打印 sys.stdout.flush()#刷新標(biāo)準(zhǔn)緩沖區(qū)
os:
介紹:這個(gè)模塊提供了一種方便的使用操作系統(tǒng)函數(shù)的方法。
常用函數(shù):
import os
print("-------getcwd()獲取當(dāng)前目錄-------")
print(os.getcwd())
print("-------chdir()改變當(dāng)前所在目錄-------")
# 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") #要?jiǎng)?chuàng)建c,如果a不存在則創(chuàng)建a,如果b不存在則創(chuàng)建b
print("-----remodir遞歸刪除目錄---------")
#os.removedirs(r"c:\a\b\c") #清除空文件夾,從c到a,如果a,b也是空的話也會(huì)刪除。
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)特點(diǎn)的路徑分割符--------")
print(os.sep)
print("-----linesep 輸出當(dāng)前平臺(tái)的行終止符---------")
list1=[]
list1.append(os.linesep)
print(list1)
print("------pathsep 輸出用于分割文件的字符串--------")
print(os.pathsep)
print("----------name輸出操作平臺(tái)----------")
# print(os.name)#nt
print("-------system執(zhí)行shell命令-------------")
print(os.system("dir"))
print("----------path關(guān)于文件和目錄的操作----------")
# print(os.path.abspath(__file__))###返回絕對(duì)路徑
print(os.path.split(os.path.abspath(__file__)))##將路徑切割成目錄名和文件名
print(os.path.dirname(os.path.abspath(__file__)))#只取路徑名
print(os.path.dirname(__file__))###__file__是包括完整路徑名的,也是絕對(duì)路徑
print(os.path.basename(__file__))#只取文件名
print(os.path.exists("c://a"))#判斷路徑是否存在,不區(qū)分目錄或文件
print(os.path.isabs(__file__))#判斷是否是絕對(duì)路徑
print(os.path.isfile("c://amd"))#判斷是否是文件
print(os.path.join(r'c:',r'\a.txt'))#組合絕對(duì)路徑
print("----------environ獲取當(dāng)前系統(tǒng)所有環(huán)境變量----------")
print(os.environ)
print("---------popen() 方法用于從一個(gè)命令打開(kāi)一個(gè)管道-----------")
print(os.popen('dir').read())##主要用于處理執(zhí)行命令的返回結(jié)果
print("獲取進(jìn)程號(hào)".center(50,'-'))
print(os.getpid())#獲取當(dāng)前進(jìn)程號(hào)
print(os.getppid())#獲取父進(jìn)程號(hào)
注意:
os.system跟os.popen的主要區(qū)別是前者返回值是腳本的退出狀態(tài)碼,后者的返回值是腳本執(zhí)行過(guò)程中的存儲(chǔ)輸出內(nèi)容的一個(gè)文件描述符。

附:
subprocess模塊是python從2.4版本開(kāi)始引入的模塊。主要用來(lái)取代 一些舊的模塊方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通過(guò)子進(jìn)程來(lái)執(zhí)行外部指令,并通過(guò)input/output/error管道,獲取子進(jìn)程的執(zhí)行的返回信息。
詳情:http://www.dhdzp.com/article/141847.htm
time:
介紹:包含關(guān)于時(shí)間的函數(shù)
常用函數(shù):
import time
print("--------時(shí)間戳-------------")
print("時(shí)間戳time:",time.time())#時(shí)間戳time: 1516435471.756463
print("----------結(jié)構(gòu)化時(shí)間(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時(shí)間
print("local_time:",time.localtime())#本地時(shí)區(qū)時(shí)間
print("struct_time->timstamp:",time.mktime(time.gmtime()))#結(jié)構(gòu)化時(shí)間-->時(shí)間戳
print("----------ctime,asctime--------")
print("string_time:",time.ctime())###字符串時(shí)間 Mon Feb 5 01:02:06 2018
print("asctime:",time.asctime())###字符串時(shí)間 Mon Feb 5 01:02:06 2018
print("----------format_time格式化時(shí)間、struct_time-----------")
#結(jié)構(gòu)化時(shí)間轉(zhuǎn)格式化時(shí)間:%Y代表year,%m代表month,%d代表day, %H代表hour,%M代表minute,%S代表second
#只會(huì)取代%Y等字符,并不替換無(wú)對(duì)應(yīng)意義的字符
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())
#格式化時(shí)間轉(zhuǎn)結(jié)構(gòu)化時(shí)間
print("format_time -> struct_time:\n",time.strptime(y,"%Y-%m-%d %H:%M:%S"))
print("------------year--------------")
print("year:",time.localtime().tm_year)
random:
介紹:存儲(chǔ)著關(guān)于“隨機(jī)”的函數(shù)
常用函數(shù):
import random
print("---------0到1,隨機(jī)浮點(diǎn)值-----------")
print(random.random())
print("------------從范圍中,隨機(jī)取值,1<=x<=2--------")
print(random.randint(1,2))
print("------------從指定范圍中,隨機(jī)取值--------")
print(random.randrange(1,3))
print("------------從序列中,隨機(jī)值--------")
print(random.choice("hello"))#從序列中隨機(jī)取值
print(random.choice([0,11,3,99]))
print("------------從序列中,隨機(jī)取指定個(gè)數(shù)值--------")
print(random.sample('heigo',2))#
print("------------隨機(jī)取浮點(diǎn)值,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)容感興趣的讀者可查看本站專(zhuān)題:《Python函數(shù)使用技巧總結(jié)》、《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
K近鄰法(KNN)相關(guān)知識(shí)總結(jié)以及如何用python實(shí)現(xiàn)
這篇文章主要介紹了K近鄰法(KNN)相關(guān)知識(shí)總結(jié)以及如何用python實(shí)現(xiàn),幫助大家更好的利用python實(shí)現(xiàn)機(jī)器學(xué)習(xí),感興趣的朋友可以了解下2021-01-01
python面向?qū)ο蠖嗑€程爬蟲(chóng)爬取搜狐頁(yè)面的實(shí)例代碼
這篇文章主要介紹了python面向?qū)ο蠖嗑€程爬蟲(chóng)爬取搜狐頁(yè)面的實(shí)例代碼,需要的朋友可以參考下2018-05-05
Python協(xié)程asyncio模塊的演變及高級(jí)用法
網(wǎng)上很多關(guān)于Python協(xié)程asyncio模塊的教程都是基于老版Python的, 本文將以對(duì)比方式展示新老Python版本下協(xié)程的寫(xiě)法有什么不同并總結(jié)了asyncio的一些高級(jí)用法, 包括如何獲取協(xié)程任務(wù)執(zhí)行結(jié)果,gather和wait方法的區(qū)別以及如何給任務(wù)添加回調(diào)函數(shù)。2021-05-05
django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法
下面小編就為大家分享一篇django admin添加數(shù)據(jù)自動(dòng)記錄user到表中的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01

