日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础概念_11_标准库

發(fā)布時間:2024/9/27 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础概念_11_标准库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

標準庫

12 標準庫

12.1?簡介

Python 標準庫是隨Python附帶安裝的,它包含大量極其有用的模塊。熟悉

Python 標準庫是十分重要的,因為如果你熟悉這些庫中的模塊,那么你的大多數(shù)問題

都可以簡單快捷地使用它們來解決。

12.2 ?sys模塊

sys 模塊包含了系統(tǒng)指定的函數(shù)功能。一般我想了解些系統(tǒng)相關的信息時會用到這個模塊。

代碼示例:

import sys print("當前python版本的詳細信息") print(sys.version_info)

?

執(zhí)行結果:

sys.version_info(major=3, minor=6, micro=0, releaselevel='final',serial=0)

注:我們可以看出當前python的版本是3.6.0

常用方法列表:

方法

功能描述

sys.argv

命令行參數(shù)List,第一個元素是程序本身路徑

sys.path

返回模塊的搜索路徑,初始化時使用PYTHONPATH環(huán)境變量的值

sys.modules.keys()

返回所有已經(jīng)導入的模塊列表

sys.modules

返回系統(tǒng)導入的模塊字段,key是模塊名,value是模塊???

sys.exc_info()

獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細信息

sys.exit(n)

退出程序,正常退出時exit(0)??

sys.hexversion

獲取Python解釋程序的版本值,16進制格式如:0x020403F0

sys.version

獲取Python解釋程序的版本信息?

sys.platform

返回操作系統(tǒng)平臺名稱

sys.stdout

標準輸出

sys.stdout.write('aaa')

標準輸出內容

sys.stdout.writelines()

無換行輸出

sys.stdin

標準輸入

sys.stdin.read()

輸入一行

sys.stderr

錯誤輸出

sys.exc_clear()

用來清除當前線程所出現(xiàn)的當前的或最近的錯誤信息

sys.exec_prefix

返回平臺獨立的python文件安裝的位置

sys.byteorder

本地字節(jié)規(guī)則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little'

sys.copyright

記錄python版權相關的東西

sys.api_version

解釋器的C的API版本

sys.version_info

'final'表示最終,也有'candidate'表示候選,表示版本級別,是否有后繼的發(fā)行

sys.getdefaultencoding()

返回當前你所用的默認的字符編碼格式

sys.getfilesystemencoding()

返回將Unicode文件名轉換成系統(tǒng)文件名的編碼的名字

sys.builtin_module_names

Python解釋器導入的內建模塊列表

sys.executable

Python解釋程序路徑

sys.getwindowsversion()

獲取Windows的版本

sys.stdin.readline()

從標準輸入讀一行,sys.stdout.write("a")屏幕輸出a

sys.setdefaultencoding(name)

用來設置當前默認的字符編碼(詳細使用參考文檔)

sys.displayhook(value)

如果value非空,這個函數(shù)會把他輸出到sys.stdout(詳細使用參考文檔)

12.3 ?os模塊

os模塊封裝了常用的文件以及目錄操作。

代碼示例:

import os os.makedirs("D:\\tmp\\xiaodang") os.rename("D:\\tmp\\xiaodang","G:\\tmp\\xiaodaobiancheng")

執(zhí)行結果:

注:會在D盤的tmp下創(chuàng)建xiaodang目錄

將xiaodang改名為xiaodaobiancheng

常用方法列表:

方法

功能描述

os.remove()

刪除文件

os.unlink()

刪除文件

os.rename()

重命名文件

os.listdir()

列出指定目錄下所有文件

os.chdir()

改變當前工作目錄

os.getcwd()

獲取當前文件路徑

os.mkdir()

新建目錄

os.rmdir()

刪除空目錄(刪除非空目錄,使用shutil.rmtree())

os.makedirs()

創(chuàng)建多級目錄

os.removedirs()

刪除多級目錄

os.stat(file)

獲取文件屬性

os.chmod(file)

修改文件權限

os.utime(file)

修改文件時間戳

os.name(file)

獲取操作系統(tǒng)標識

os.system()

執(zhí)行操作系統(tǒng)命令

os.execvp()

啟動一個新進程

os.fork()

獲取父進程ID,在子進程返回中返回0

os.execvp()

執(zhí)行外部程序腳本(Uinx)

os.spawn()

執(zhí)行外部程序腳本(Windows)

os.access(path,mode)

判斷文件權限(詳細參考cnblogs)

os.wait()

暫時未知

12.4? os.path模塊

這個模塊封裝了對系統(tǒng)路徑的常用的操作。

代碼示例:

import os.path print(os.path.abspath('practise.py')) print(os.path.split("D:\\tmp\\xiaodang"))

執(zhí)行結果:

C:\demo\practise.py

('D:\\tmp', 'xiaodang')

常見方法列表:

方法

功能描述

os.path.split(filename)

將文件路徑和文件名分割(會將最后一個目錄作為文件名而分離)

os.path.splitext(filename)

將文件路徑和文件擴展名分割成一個元組

os.path.dirname(filename)

返回文件路徑的目錄部分

os.path.basename(filename)

返回文件路徑的文件名部分

os.path.join(dirname,basename)

將文件路徑和文件名湊成完整文件路徑

os.path.abspath(name)

獲得絕對路徑

os.path.splitunc(path)

把路徑分割為掛載點和文件名

os.path.normpath(path)

規(guī)范path字符串形式

os.path.exists()

判斷文件或目錄是否存在

os.path.isabs()

如果path是絕對路徑,返回True

os.path.realpath(path)

返回path的真實路徑

os.path.relpath(path[,start])

從start開始計算相對路徑

os.path.normcase(path)

轉換path的大小寫和斜杠

os.path.isdir()

判斷name是不是一個目錄,name不是目錄就返回false

os.path.isfile()

判斷name是不是一個文件,不存在返回false

os.path.islink()

判斷文件是否連接文件,返回boolean

os.path.ismount()

指定路徑是否存在且為一個掛載點,返回boolean

os.path.samefile()

是否相同路徑的文件,返回boolean

os.path.getatime()

返回最近訪問時間浮點型

os.path.getmtime()

返回上一次修改時間浮點型

os.path.getctime()

返回文件創(chuàng)建時間浮點型

os.path.getsize()

返回文件大小字節(jié)單位

os.path.commonprefix(list)

返回list(多個路徑)中,所有path共有的最長的路徑

os.path.lexists#

路徑存在則返回True,路徑損壞也返回True

os.path.expanduser(path)

把path中包含的"~"和"~user"轉換成用戶目錄

os.path.expandvars(path)

根據(jù)環(huán)境變量的值替換path中包含的”$name”和”${name}”

os.path.sameopenfile(fp1,fp2)

判斷fp1和fp2是否指向同一文件

os.path.samestat(stat1,stat2)

判斷stattuplestat1和stat2是否指向同一個文件

os.path.splitdrive(path)

一般用在windows下,返回驅動器名和路徑組成的元組

os.path.walk(path,visit,arg)

遍歷path,給每個path執(zhí)行一個函數(shù)詳細見手冊

os.path.supports_unicode_filenames()

設置是否支持unicode路徑名

12.5? stat模塊

stat模塊可以獲取文件的屬性方面的詳細信息。

代碼示例:

?

import stat import datetime fileStats = os.stat("D:\\tmp\\xiaodao\\FolderOperate_bak.py") print("文件大小為:"+(fileStats[stat.ST_SIZE]).__str__()+'個字節(jié)') print('最后的修改時間:' +datetime.datetime.fromtimestamp(fileStats[stat.ST_MTIME]).__str__())

執(zhí)行結果:

文件大小為:102個字節(jié)

最后的修改時間:2017-03-16 10:42:34

常見方法列表:

方法

功能描述

fileStats = os.stat(path)

獲取到的文件屬性列表

fileStats[stat.ST_MODE]

獲取文件的模式

fileStats[stat.ST_SIZE]

文件大小

fileStats[stat.ST_MTIME]

文件最后修改時間

fileStats[stat.ST_ATIME]

文件最后訪問時間

fileStats[stat.ST_CTIME]

文件創(chuàng)建時間

stat.S_ISDIR(fileStats[stat.ST_MODE

是否目錄

stat.S_ISREG(fileStats[stat.ST_MODE])

是否一般文件

stat.S_ISLNK(fileStats[stat.ST_MODE])

是否連接文件

stat.S_ISSOCK(fileStats[stat.ST_MODE])

是否COCK文件

stat.S_ISFIFO(fileStats[stat.ST_MODE])

是否命名管道

stat.S_ISBLK(fileStats[stat.ST_MODE])

是否塊設備

stat.S_ISCHR(fileStats[stat.ST_MODE])

是否字符設置

12.6? datetime模塊

datetime模塊存放了常用的時間、日期處理。通過引用該模塊我們很方便的進行時間與字符串的轉換,時間和日期的轉換,時間元組與時間的轉換,時間的屬性提取等方面的操作。

代碼示例:

from datetime import datetime, date, time d = date(2017, 3, 22) print("輸出個YYYY-MM-DD格式的時間字符串:"+d.isoformat()) print("星期"+(d.weekday()+1).__str__()) print(d.isocalendar()) print(datetime.strptime('2014-03-16 12:21:21',"%Y-%m-%d%H:%M:%S")) print(datetime.now().timetuple())

輸出結果:

輸出個YYYY-MM-DD格式的時間字符串:2017-03-22

星期3

(2017, 12, 3)

2014-03-1612:21:21

time.struct_time(tm_year=2017,tm_mon=3, tm_mday=22, tm_hour=16, tm_min=10, tm_sec=51, tm_wday=2, tm_yday=81,tm_isdst=-1)

常用方法列表:

方法

功能描述

datetime.date.today()

本地日期對象,(用str函數(shù)可得到它的字面表示(2014-03-24))?

datetime.date.isoformat(obj)

當前[年-月-日]字符串表示(2014-03-24)?

datetime.date.fromtimestamp()

返回一個日期對象,參數(shù)是時間戳,返回 [年-月-日]?

datetime.date.weekday(obj)

返回一個日期對象的星期數(shù),周一是0?

datetime.date.isoweekday(obj)

返回一個日期對象的星期數(shù),周一是1?

datetime.date.isocalendar(obj)

把日期對象返回一個帶有年月日的元組

datetime.date.fromtimestamp(timestamp[,tz])

按時間戳返回一個date對象,可指定時區(qū)

datetime.datetime.today()

返回一個包含本地時間(含微秒數(shù))的datetime對象 2014-03-24 23:31:50.419000?

datetime.datetime.now([tz])

返回指定時區(qū)的datetime對象 2014-03-24 23:31:50.419000?

datetime.datetime.utcnow()

返回一個零時區(qū)的datetime對象?

datetime.datetime.fromtimestamp(timestamp[,tz])

按時間戳返回一個datetime對象,可指定時區(qū)

datetime.utcfromtimestamp(timestamp)

按時間戳返回一個UTC-datetime對象?

datetime.datetime.strptime('2017-03-22 12:21:21',"%Y-%m-%d %H:%M:%S")

將字符串轉為datetime對象?

datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H%M%S')

將datetime對象轉換為str表示形式?

datetime.date.today().timetuple()

轉換為時間戳datetime元組對象,可用于轉換時間戳?

datetime.datetime.now().timetuple()?

12.7? string模塊

String模塊是對字符串的一些常用處理,包括字符串的大小寫、字符串拼接、字符串查找、字符串替換等等。

代碼示例:

mystr='xiao dao bian cheng' print(mystr.rpartition(' ')) str = "this is \nstring example....\nwow!!!" print (mystr.splitlines())

執(zhí)行結果:

('xiao dao bian', ' ', 'cheng')

['xiao dao bian cheng']

常用方法列表見下,示例程序可參見字符串處理章節(jié)9.5里的示例。

方法

功能描述

str.capitalize()

把字符串的第一個字符大寫

str.center(width)

返回一個原字符串居中,并使用空格填充到width長度的新字符串

str.ljust(width)

返回一個原字符串左對齊,用空格填充到指定長度的新字符串

str.rjust(width)

返回一個原字符串右對齊,用空格填充到指定長度的新字符串

str.zfill(width)

返回字符串右對齊,前面用0填充到指定長度的新字符串

str.count(str,[beg,len])

返回子字符串在原字符串出現(xiàn)次數(shù),beg,len是范圍

str.decode(encodeing[,replace])

解碼string,出錯引發(fā)ValueError異常

str.encode(encodeing[,replace])

解碼string

str.endswith(substr[,beg,end])

字符串是否以substr結束,beg,end是范圍

str.startswith(substr[,beg,end])

字符串是否以substr開頭,beg,end是范圍

str.expandtabs(tabsize=8)

把字符串的tab轉為空格,默認為8個

str.find(str,[stat,end])

查找子字符串在字符串第一次出現(xiàn)的位置,否則返回-1

str.index(str,[beg,end])

查找子字符串在指定字符中的位置,不存在報異常

str.isalnum()

檢查字符串是否以字母和數(shù)字組成,是返回true否則False

str.isalpha()

檢查字符串是否以純字母組成,是返回true,否則false

str.isdecimal()

檢查字符串是否以純十進制數(shù)字組成,返回布爾值

str.isdigit()

檢查字符串是否以純數(shù)字組成,返回布爾值

str.islower()

檢查字符串是否全是小寫,返回布爾值

str.isupper()

檢查字符串是否全是大寫,返回布爾值

str.isnumeric()

檢查字符串是否只包含數(shù)字字符,返回布爾值

str.isspace()

如果str中只包含空格,則返回true,否則FALSE

str.title()

返回標題化的字符串(所有單詞首字母大寫,其余小寫)

str.istitle()

如果字符串是標題化的(參見title()

str.join(seq)

以str作為連接符,將一個序列中的元素連接成字符串

str.split(str='',num)

以str作為分隔符,將一個字符串分隔成一個序列,num是被分隔的字符串

str.splitlines(num)

以行分隔,返回各行內容作為元素的列表

str.lower()

將大寫轉為小寫

str.upper()

轉換字符串的小寫為大寫

str.swapcase()

翻換字符串的大小寫

str.lstrip()

去掉字符左邊的空格和回車換行符

str.rstrip()

去掉字符右邊的空格和回車換行符

str.strip()

去掉字符兩邊的空格和回車換行符

str.partition(substr)

從substr出現(xiàn)的第一個位置起,將str分割成一個3元組。

str.replace(str1,str2,num)

查找str1替換成str2,num是替換次數(shù)

str.rfind(str[,beg,end])

從右邊開始查詢子字符串

str.rindex(str,[beg,end])

從右邊開始查找子字符串位置

str.rpartition(str)

類似partition函數(shù),不過從右邊開始查找

str.translate(str,del='')

按str給出的表轉換string的字符,del是要過慮的字符

12.8??總結

通過本章的學習,我們熟悉了python里常用模塊的使用,這是為我們編寫高質量的代碼奠定了良好的基礎。接下來我們來聊聊編程風格方面的事情。

總結

以上是生活随笔為你收集整理的Python基础概念_11_标准库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。