1. 程式人生 > 程式設計 >Python常用模組sys,os,time,random功能與用法例項分析

Python常用模組sys,os,time,random功能與用法例項分析

本文例項講述了Python常用模組sys,os,time,random功能與用法。分享給大家供大家參考,具體如下:

sys:

介紹:主要包含涉及python編譯器與系統互動的函式。

常用函式:

import sys
print(sys.argv)#本檔名,已經執行該程式時的引數
#[如在命令視窗中python3 mysys.py 引數1 引數2]
#那麼引數1為sys.argv[1],以此類推
print(sys.version)#python版本號
print(sys.path)#返回模組的搜尋路徑,初始化時使用PYTHONPATH環境變數的值
# sys.exit(0)#中途退出程式,當引數非0時,會引發一個SystemExit異常

sys.stdout.write()#在螢幕中列印
sys.stdout.flush()#重新整理標準緩衝區

os:

介紹:這個模組提供了一種方便的使用作業系統函式的方法。

常用函式:

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遞迴建立目錄-------")
#os.makedirs(r"c:\a\b\c")   #要建立c,如果a不存在則建立a,如果b不存在則建立b
print("-----remodir遞迴刪除目錄---------")
#os.removedirs(r"c:\a\b\c")  #清除空資料夾,從c到a,如果a,b也是空的話也會刪除。
print("------mkdir建立目錄--------")
# 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 輸出作業系統特點的路徑分割符--------")
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執行shell命令-------------")
print(os.system("dir"))
print("----------path關於檔案和目錄的操作----------")
# 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"))#判斷路徑是否存在,不區分目錄或檔案
print(os.path.isabs(__file__))#判斷是否是絕對路徑
print(os.path.isfile("c://amd"))#判斷是否是檔案
print(os.path.join(r'c:',r'\a.txt'))#組合絕對路徑
print("----------environ獲取當前系統所有環境變數----------")
print(os.environ)
print("---------popen() 方法用於從一個命令開啟一個管道-----------")
print(os.popen('dir').read())##主要用於處理執行命令的返回結果
print("獲取程序號".center(50,'-'))
print(os.getpid())#獲取當前程序號
print(os.getppid())#獲取父程序號

注意:

os.system跟os.popen的主要區別是前者返回值是指令碼的退出狀態碼,後者的返回值是指令碼執行過程中的儲存輸出內容的一個檔案描述符。

附:

subprocess模組是python從2.4版本開始引入的模組。主要用來取代 一些舊的模組方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通過子程序來執行外部指令,並通過input/output/error管道,獲取子程序的執行的返回資訊。

詳情:https://www.jb51.net/article/141847.htm

time:

介紹:包含關於時間的函式

常用函式:

import time
print("--------時間戳-------------")
print("時間戳time:",time.time())#時間戳time: 1516435471.756463
print("----------結構化時間(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())#本地時區時間
print("struct_time->timstamp:",time.mktime(time.gmtime()))#結構化時間-->時間戳
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-----------")
#結構化時間轉格式化時間:%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())
#格式化時間轉結構化時間
print("format_time -> struct_time:\n",time.strptime(y,"%Y-%m-%d %H:%M:%S"))
print("------------year--------------")
print("year:",time.localtime().tm_year)

random:

介紹:儲存著關於“隨機”的函式

常用函式:

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("------------從序列中,隨機取指定個數值--------")
print(random.sample('heigo',2))#
print("------------隨機取浮點值,start,end--------")
print(random.uniform(1,2))#start,end
print("-------洗牌,打亂排序-----")
l=[0,4,5,67,9]
random.shuffle(l)
print(l)

更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python函式使用技巧總結》、《Python面向物件程式設計入門與進階教程》、《Python資料結構與演算法教程》、《Python字串操作技巧彙總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程式設計有所幫助。