字符串相關(guān)函數(shù)
*capitalize 字符串首字母大寫
*title 每個(gè)單詞的首字母大寫
*upper 將所有字母變成大寫
*lower 將所有字母變成小寫
*swapcase 大小寫互換
*len 計(jì)算字符串的長(zhǎng)度
*count 統(tǒng)計(jì)字符串中某個(gè)元素的數(shù)量
*find 查找某個(gè)字符串第一次出現(xiàn)的索引位置
*index 與 find 功能相同 find找不到返回-1,index找不到數(shù)據(jù)直接報(bào)錯(cuò)
*startswith 判斷是否以某個(gè)字符或字符串為開頭
*endswith 判斷是否以某個(gè)字符或字符串結(jié)尾
*isupper 判斷字符串是否都是大寫字母
*islower 判斷字符串是否都是小寫字母
istitle 判斷字符串是否每個(gè)單詞都首字母大寫
isalnum 判斷字符串是否是由數(shù)字、字母、漢字組成
*isalpha 判斷字符串是否由字母和文字組成
*isdigit 檢測(cè)字符串?dāng)?shù)是數(shù)字組成 接受二進(jìn)制字節(jié)流
*isdecimal 檢測(cè)字符串是否以數(shù)字組成 必須是純數(shù)字
isnumeric 檢測(cè)字符串是否以數(shù)字組成 接受中文"四"
isspace 判斷字符串是否由空白符組成
*split 按某字符將字符串分割成列表(默認(rèn)字符是空格)
*join 按某字符將列表拼接成字符串(容器類型都可)
splitlines 按換行來進(jìn)行切分(\n)
zfill 填充字符串(默認(rèn)填充0,原字符串右對(duì)齊)
ljust 填充字符串,原字符居左 (默認(rèn)填充空格)
rjust 填充字符串,原字符居右 (默認(rèn)填充空格)
*center 填充字符串,原字符居中 (默認(rèn)填充空格)
*strip 默認(rèn)去掉首尾兩邊的空白符
rstrip 去掉右邊某個(gè)字符
lstrip 去掉左邊某個(gè)字符

創(chuàng)新互聯(lián)公司專注于巴里坤哈薩克網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供巴里坤哈薩克營(yíng)銷型網(wǎng)站建設(shè),巴里坤哈薩克網(wǎng)站制作、巴里坤哈薩克網(wǎng)頁設(shè)計(jì)、巴里坤哈薩克網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造巴里坤哈薩克網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供巴里坤哈薩克網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
replace()
功能: 把字符串的舊字符換成新字符
格式: 字符串.replace('舊字符','新字符'[, 限制替換的次數(shù)])
返回值: 替換之后的字符串
maketrans translate 是一對(duì)
maketrans()
功能: 制作用于字符串替換的映射表
格式: 字符串.maketrans('查找字符','替換字符')兩個(gè)字符必須長(zhǎng)度相等
返回值: 字典
translate()
功能: 進(jìn)行字符串替換操作
格式: 字符串.translate(maketrans返回的字典)
返回值: 替換之后的字符串
列表的相關(guān)函數(shù)
append()
功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,該函數(shù)直接操作原有列表
insert()
功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改變?cè)辛斜?/span>
extend()
功能:迭代追加所有元素
格式:列表.extend(可迭代性數(shù)據(jù))
返回值:None
注意:直接改變?cè)辛斜?/span>
pop()
功能:通過指定索引刪除元素,若沒有索引移除最后那個(gè)
格式:列表.pop(索引)
返回值:刪除的元素
(注意:沒有指定索引,默認(rèn)移除最后一個(gè)元素 )
remove()
功能:通過給予的值來刪除,如果多個(gè)相同元素,默認(rèn)刪除第一個(gè)
格式:列表.remove(值)
返回值:無
(注意:如果有索引的情況推薦使用pop,效率高于remove)
clear()
功能:清空列表
格式:列表.clear()
返回值:空列表
index()
功能:獲取某個(gè)值在列表中的索引
格式:列表.index(值[,start][,end]) # [] 表達(dá)參數(shù)可選項(xiàng)
返回值:找到返回索引 (找不到報(bào)錯(cuò))
count()
功能:計(jì)算某個(gè)元素出現(xiàn)的次數(shù)
格式:列表.count(值)
返回值:次數(shù)
sort()
功能:列表排序(默認(rèn)小到大排序)
格式:列表.sort(reverse=False)
返回值:None
注意:直接更改原列表
reverse()
功能:列表反轉(zhuǎn)操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表
深拷貝淺拷貝
copy模塊中有 淺拷貝 和 深拷貝 兩種方法
(1)淺拷貝: 淺拷貝只拷貝外層列表 內(nèi)層列表跟隨原列表進(jìn)行改變
淺拷貝copy.copy(listvar) 或者 listvar.copy()
(2)深拷貝: 拷貝整個(gè)列表 內(nèi)外列表都不跟隨原列表進(jìn)行改變
深拷貝copy.deepcopy(listvar)
注意:copy模塊的copy方法 和 python內(nèi)置的函數(shù)copy一樣 都是淺拷貝
元組相關(guān)操作和方法
元組的相關(guān)操作除了不能修改和刪除其中的元素之外 , 剩下操作都和列表相同.
元組里面能用的方法只有 index 和 count
字典的相關(guān)函數(shù)
fromkeys() 使用一組鍵和默認(rèn)值創(chuàng)建字典
pop() 通過鍵去刪除鍵值對(duì) (若沒有該鍵可設(shè)置默認(rèn)值,預(yù)防報(bào)錯(cuò))
popitem() 刪除最后一個(gè)鍵值對(duì)
clear() 清空字典
update() 批量更新(有該鍵就更新,沒該鍵就添加)
get() 通過鍵獲取值(若沒有該鍵可設(shè)置默認(rèn)值,預(yù)防報(bào)錯(cuò))
keys() 將字典的鍵組成新的可迭代對(duì)象
values() 將字典中的值組成新的可迭代對(duì)象
items() 將字典的鍵值對(duì)湊成一個(gè)個(gè)元組,組成新的可迭代對(duì)象
集合中的交差并補(bǔ)
intersection() 交集
difference() 差集
union() 并集
symmetric_difference() 對(duì)稱差集 (補(bǔ)集情況涵蓋在其中)
issubset() 判斷是否是子集
issuperset() 判斷是否是父集
isdisjoint() 檢測(cè)兩集合是否不相交 不相交 True 相交False
集合相關(guān)的函數(shù)
add() 向集合中添加數(shù)據(jù)
update() 迭代著增加
clear() 清空集合
pop() 隨機(jī)刪除集合中的一個(gè)數(shù)據(jù)
remove() 刪除集合中指定的值(不存在則報(bào)錯(cuò))
discard() 刪除集合中指定的值(不存在的不刪除 推薦使用)
冰凍集合
frozenset 可強(qiáng)轉(zhuǎn)容器類型數(shù)據(jù)變?yōu)楸鶅黾?/span>
冰凍集合一旦創(chuàng)建,不能在進(jìn)行任何修改,只能做交叉并補(bǔ)操作
文件操作
打開模式
w write 寫入模式
文件不存在則創(chuàng)建文件,存在的話則打開清空內(nèi)容,并且將文件指針放在文件的開頭
r read 讀取模式
文件不存在則報(bào)錯(cuò)! 存在的話則打開文件,并且將文件指針放在文件的開頭
a append 追加模式
文件不存在則創(chuàng)建文件,存在的話則打開文件,*并且將文件指針放在文件的末尾*
x xor 異或模式
文件已存在則報(bào)錯(cuò)! 不存在的話則創(chuàng)建文件,將文件指針放在文件的開頭
擴(kuò)展模式 (配合打開模式的輔助模式,自己?jiǎn)为?dú)不能使用)
+ plus 增強(qiáng)模式(可以讓文件具有讀寫功能)
b bytes bytes模式(二進(jìn)制字節(jié)流)
模式一共16種
w,w+,wb,wb+
r,r+,rb,rb+
a,a+,ab,ab+
x,x+,xb,xb+
將字符串和字節(jié)流(Bytes流)類型進(jìn)行轉(zhuǎn)換 (參數(shù)寫成轉(zhuǎn)化的字符編碼格式)
encode() 編碼 將字符串轉(zhuǎn)化為字節(jié)流(Bytes流)
decode() 解碼 將Bytes流轉(zhuǎn)化為字符串
(utf-8編碼格式下 默認(rèn)一個(gè)中文三個(gè)字節(jié) 一個(gè)英文或符號(hào) 占用一個(gè)字節(jié))
read() 功能: 讀取字符的個(gè)數(shù)(里面的參數(shù)代表字符個(gè)數(shù))
seek() 功能: 調(diào)整指針的位置(里面的參數(shù)代表字節(jié)個(gè)數(shù))
tell() 功能: 當(dāng)前光標(biāo)左側(cè)所有的字節(jié)數(shù)(返回字節(jié)數(shù))
文件相關(guān)函數(shù)
readline() 功能: 讀取一行文件內(nèi)容
readlines() 功能:將文件中的內(nèi)容按照換行讀取到列表當(dāng)中
writelines() 功能:將內(nèi)容是字符串的可迭代性數(shù)據(jù)寫入文件中 參數(shù):內(nèi)容為字符串類型的可迭代數(shù)據(jù)
truncate() 功能: 把要截取的字符串提取出來,然后清空內(nèi)容將提取的字符串重新寫入文件中 (字節(jié))
readable() 功能: 判斷文件對(duì)象是否可讀
writable() 功能: 判斷文件對(duì)象是否可寫
函數(shù)
____doc____
__doc__或者help查看文檔
return
return返回值
為這個(gè)函數(shù)返回一個(gè)結(jié)果 (return返回值可有可無 按照需求選擇)
注意:執(zhí)行return語句之后,函數(shù)執(zhí)行結(jié)束
內(nèi)置函數(shù)
abs 絕對(duì)值函數(shù)
round 四舍五入 (n.5 n為偶數(shù)則舍去 n.5 n為奇數(shù),則進(jìn)一!)
sum 計(jì)算一個(gè)序列得和
max 獲取一個(gè)序列里邊的最大值
min 獲取一個(gè)序列里邊的最小值
pow 計(jì)算某個(gè)數(shù)值的x次方
range 產(chǎn)生指定范圍數(shù)據(jù)的可迭代對(duì)象
bin 將10進(jìn)制數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制
oct 將10進(jìn)制數(shù)據(jù)轉(zhuǎn)化為八進(jìn)制
hex 將10進(jìn)制數(shù)據(jù)轉(zhuǎn)化為16進(jìn)制
chr 將ASCII編碼轉(zhuǎn)換為字符
ord 將字符轉(zhuǎn)換為ASCII編碼
eval 將字符串當(dāng)作python代碼執(zhí)行
eval 將字符串當(dāng)作python代碼執(zhí)行(功能更強(qiáng)大)
repr 不轉(zhuǎn)義字符輸出字符串
input 接受輸入字符串
hash 生成哈希值
全局變量 與 局部變量 及 其關(guān)鍵字的使用
globals() :返回字典,存放著全局作用域所有內(nèi)容
locals() :返回字典,當(dāng)前作用域所有內(nèi)容(locals調(diào)用之前的變量)
global :關(guān)鍵字:聲明全局變量獲修改全局變量
nonlocal :關(guān)鍵字:修改局部變量(當(dāng)前函數(shù)上一層的局部變量)
匿名函數(shù)
lambda 函數(shù)表達(dá)式: 只實(shí)現(xiàn)一些簡(jiǎn)單的函數(shù)功能,但是寫法非常簡(jiǎn)便
高階函數(shù)
高階函數(shù):能夠把函數(shù)當(dāng)成參數(shù)傳遞的就是高階函數(shù)
map
map(func,iterable)
功能:
把iterable里面所有數(shù)據(jù) 一一的放進(jìn)到func這個(gè)函數(shù)中進(jìn)行操作 ,把結(jié)果扔進(jìn)迭代器
參數(shù):
func 內(nèi)置或自定義函數(shù)
iterable 具有可迭代性的數(shù)據(jù) ([迭代器],[容器類型的數(shù)據(jù)],[range對(duì)象])
返回值:
返回最后的迭代器
reduce
reduce(func,iterable)
功能:
先把iterable里面的前2個(gè)數(shù)據(jù)拿到func函數(shù)當(dāng)中進(jìn)行運(yùn)算,得到結(jié)果,
在把計(jì)算的結(jié)果和iterable中的第三個(gè)數(shù)據(jù)拿到func里面進(jìn)行運(yùn)算,
依次類推 ,直到iterable里面的所有數(shù)據(jù)都拿完為止,程序結(jié)束
參數(shù):
func 內(nèi)置或自定義函數(shù)
iterable 具有可迭代性的數(shù)據(jù) ([迭代器],[容器類型的數(shù)據(jù)],[range對(duì)象])
返回值:
計(jì)算的最后結(jié)果
sorted
sorted(iterable,reverse=False,key=函數(shù))
功能:
對(duì)數(shù)據(jù)進(jìn)行排序
參數(shù):
iterable : 具有可迭代性的數(shù)據(jù)(迭代器,容器類型數(shù)據(jù),可迭代對(duì)象)
reverse : 是否反轉(zhuǎn) 默認(rèn)為False 代表正序, 改成True 為倒序
key : 指定函數(shù) 內(nèi)置或自定義函數(shù)
返回值:
返回排序后的數(shù)據(jù)
filter
filter(func,iterable)
功能:
用來過濾的,如果func函數(shù)中返回True , 會(huì)將這個(gè)值保留到迭代器中
如果func函數(shù)中返回False , 會(huì)將此值舍棄不保留
參數(shù):
func : 自定義函數(shù)
iterable : 具有可迭代性的數(shù)據(jù)(迭代器,容器類型數(shù)據(jù),可迭代對(duì)象)
返回值:
返回處理后的迭代器
列表推導(dǎo)式,集合推導(dǎo)式,字典推導(dǎo)式的相關(guān)寫法
(1)enumerate
enumerate(iterable,[start=0])
功能:枚舉 ; 將索引號(hào)和iterable中的值,一個(gè)一個(gè)拿出來配對(duì)組成元組,通過迭代器返回
參數(shù):
iterable: 可迭代性數(shù)據(jù) (常用:迭代器,容器類型數(shù)據(jù),可迭代對(duì)象range)
start: 可以選擇開始的索引號(hào)(默認(rèn)從0開始索引)
返回值:迭代器
(2)zip
zip(iterable, ... ...)
功能: 將多個(gè)iterable中的值,一個(gè)一個(gè)拿出來配對(duì)組成元組,通過迭代器返回
iterable: 可迭代性數(shù)據(jù) (常用:迭代器,容器類型數(shù)據(jù),可迭代對(duì)象range)
返回: 迭代器
生成器send 與 yield from
send
next和send區(qū)別:
next 只能取值
send 不但能取值,還能發(fā)送值
send注意點(diǎn):
第一個(gè) send 不能給 yield 傳值 默認(rèn)只能寫None
最后一個(gè)yield 接受不到send的發(fā)送值
yield from : 將一個(gè)可迭代對(duì)象變成一個(gè)迭代器返回
yield from : 將一個(gè)可迭代對(duì)象變成一個(gè)迭代器返回
序列化模塊-pickle
dumps 把任意對(duì)象序列化成一個(gè)bytes
loads 把任意bytes反序列化成原來數(shù)據(jù)
dump 把對(duì)象序列化后寫入到file-like Object(即文件對(duì)象)
load 把file-like Object(即文件對(duì)象)中的內(nèi)容拿出來,反序列化成原來數(shù)據(jù)
數(shù)學(xué)模塊-math
ceil() 向上取整操作 (對(duì)比內(nèi)置round)
floor() 向下取整操作 (對(duì)比內(nèi)置round)
pow() 計(jì)算一個(gè)數(shù)值的N次方(結(jié)果為浮點(diǎn)數(shù)) (對(duì)比內(nèi)置pow)
sqrt() 開平方運(yùn)算(結(jié)果浮點(diǎn)數(shù))
fabs() 計(jì)算一個(gè)數(shù)值的絕對(duì)值 (結(jié)果浮點(diǎn)數(shù)) (對(duì)比內(nèi)置abs)
modf() 將一個(gè)數(shù)值拆分為整數(shù)和小數(shù)兩部分組成元組
copysign() 將參數(shù)第二個(gè)數(shù)值的正負(fù)號(hào)拷貝給第一個(gè) (返回一個(gè)小數(shù))
fsum() 將一個(gè)容器數(shù)據(jù)中的數(shù)據(jù)進(jìn)行求和運(yùn)算 (結(jié)果浮點(diǎn)數(shù))(對(duì)比內(nèi)置sum)
圓周率常數(shù) pi
隨機(jī)模塊-random
random() 獲取隨機(jī)0-1之間的小數(shù)(左閉右開)
randrange() 隨機(jī)獲取指定范圍內(nèi)的整數(shù)(包含開始值,不包含結(jié)束值,間隔值)
randint() 隨機(jī)產(chǎn)生指定范圍內(nèi)的隨機(jī)整數(shù)
uniform() 獲取指定范圍內(nèi)的隨機(jī)小數(shù)(左閉右開)
choice() 隨機(jī)獲取序列中的值(多選一)
sample() 隨機(jī)獲取序列中的值(多選多) [返回列表]
shuffle() 隨機(jī)打亂序列中的值(直接打亂原序列)
時(shí)間模塊-time
time() 獲取本地時(shí)間戳
ctime() 獲取本地時(shí)間字符串(參數(shù)是時(shí)間戳,默認(rèn)當(dāng)前)
localtime() 獲取本地時(shí)間元組 (參數(shù)是時(shí)間戳,默認(rèn)當(dāng)前)
mktime() 通過時(shí)間元組獲取時(shí)間戳 (參數(shù)是時(shí)間元組)
asctime() 通過時(shí)間元組獲取時(shí)間字符串(參數(shù)是時(shí)間元組)
sleep() 程序睡眠等待
strftime() 格式化時(shí)間字符串(格式化字符串,時(shí)間元祖)
strptime() 將時(shí)間字符串通過指定格式提取到時(shí)間元組中(時(shí)間字符串,格式化字符串)
perf_counter() 用于計(jì)算程序運(yùn)行的時(shí)間
格式化時(shí)間字符串
格式 含義 %a 本地(locale)簡(jiǎn)化星期名稱
%A 本地完整星期名稱
%b 本地簡(jiǎn)化月份名稱
%B 本地完整月份名稱
%c 本地相應(yīng)的日期和時(shí)間表示
%d 一個(gè)月中的第幾天(01 - 31)
%H 一天中的第幾個(gè)小時(shí)(24 小時(shí)制,00 - 23)
%I 一天中的第幾個(gè)小時(shí)(12 小時(shí)制,01 - 12)
%j 一年中的第幾天(001 - 366)
%m 月份(01 - 12) %M 分鐘數(shù)(00 - 59)
%p 本地 am 或者 pm 的相應(yīng)符
%S 秒(01 - 61)
%U 一年中的星期數(shù)(00 - 53 星期天是一個(gè)星期的開始)第一個(gè)星期天之前的所有天數(shù)都放在第 0 周
%w 一個(gè)星期中的第幾天(0 - 6,0 是星期天) %W 和 %U 基本相同,不同的是 %W 以星期一為一個(gè)星期的開始
%X 本地相應(yīng)時(shí)間
%y 去掉世紀(jì)的年份(00 - 99)
%Y 完整的年份
%z 用 +HHMM 或 -HHMM 表示距離格林威治的時(shí)區(qū)偏移(H 代表十進(jìn)制的小時(shí)數(shù),M 代表十進(jìn)制的分鐘數(shù))
%% %號(hào)本身
不常用的屬性函數(shù)(了解)
*gmtime() 獲取UTC時(shí)間元祖(世界標(biāo)準(zhǔn)時(shí)間)
*time.timezone 獲取當(dāng)前時(shí)區(qū)(時(shí)區(qū)的時(shí)間差)
*time.altzone 獲取當(dāng)前時(shí)區(qū)(夏令時(shí))
*time.daylight 獲取夏令時(shí)狀態(tài)
日歷模塊-calendar(了解內(nèi)容)
calendar() 獲取指定年份的日歷字符串 (年份,w日期間的寬度,l日期間的高度,c月份間的間距,m一行顯示幾個(gè)月)
calendar.calendar(2018,w=2,l=2,c=20,m=1)
month() 獲取指定年月的日歷字符串 (年份,月份,w日期之間的寬度,l日期之間的高度)
calendar.month(2018,9,w = 2,l = 2)
monthcalendar() 獲取指定年月的信息列表 (年份,月份) 0從周一開始排
calendar.monthcalendar(2018,9)
isleap() 檢測(cè)是否是潤(rùn)年(能被4整除不能被100整除或能被400整除)
calendar.isleap(2004)
leapdays() 指定從某年到某年范圍內(nèi)的潤(rùn)年個(gè)數(shù)
calendar.leapdays(1970,2038)
monthrange() 獲取某年某月的信息 周一是0
calendar.monthrange(2018,8)
weekday() 指定某年某月某日是星期幾
calendar.weekday(2018,8,18)
timegm() 將時(shí)間元組轉(zhuǎn)化為時(shí)間戳
ttp = (2018,10,1,13,23,34,0,0,0)
calendar.timegm(ttp)
os模塊-對(duì)系統(tǒng)進(jìn)行操作
system() 在python中執(zhí)行系統(tǒng)命令
popen() 執(zhí)行系統(tǒng)命令返回對(duì)象,通過read方法讀出字符串
listdir() 獲取指定文件夾中所有內(nèi)容的名稱列表
getcwd() 獲取當(dāng)前文件所在的默認(rèn)路徑
chdir() 修改當(dāng)前文件工作的默認(rèn)路徑
environ 獲取或修改環(huán)境變量
--os 模塊屬性
name 獲取系統(tǒng)標(biāo)識(shí) linux,mac ->posix windows -> nt
sep 獲取路徑分割符號(hào) linux,mac -> / window-> \
linesep 獲取系統(tǒng)的換行符號(hào) linux,mac -> \n window->\r\n 或 \n
os路徑模塊 -os.path
basename() 返回文件名部分
dirname() 返回路徑部分
split() 將路徑拆分成單獨(dú)的文件部分和路徑部分 組合成一個(gè)元組
join() 將多個(gè)路徑和文件組成新的路徑 可以自動(dòng)通過不同的系統(tǒng)加不同的斜杠 linux / windows\
splitext() 將路徑分割為后綴和其他部分
getsize() 獲取文件的大小
isdir() 檢測(cè)路徑是否是一個(gè)文件夾
isfile() 檢測(cè)路徑是否是一個(gè)文件
islink() 檢測(cè)路徑數(shù)否是一個(gè)鏈接
getctime() [windows]文件的創(chuàng)建時(shí)間,[linux]權(quán)限的改動(dòng)時(shí)間(返回時(shí)間戳)
getmtime() 獲取文件最后一次修改時(shí)間(返回時(shí)間戳)
getatime() 獲取文件最后一次訪問時(shí)間(返回時(shí)間戳)
exists() 檢測(cè)指定的路徑是否存在
isabs() 檢測(cè)一個(gè)路徑是否是絕對(duì)路徑
abspath() 將相對(duì)路徑轉(zhuǎn)化為絕對(duì)路徑
os 與 shutil 模塊 都具備對(duì)文件的操作
-- os模塊具有 新建/刪除/
os.mknod 創(chuàng)建文件
os.remove 刪除文件
os.mkdir 創(chuàng)建目錄(文件夾)
os.rmdir 刪除目錄(文件夾)
os.rename 對(duì)文件,目錄重命名
os.makedirs 遞歸創(chuàng)建文件夾
os.removedirs 遞歸刪除文件夾(空文件夾)
shutil模塊
-- shutil模塊 復(fù)制/移動(dòng)/
copyfileobj(fsrc, fdst[, length=16*1024]) 復(fù)制文件 (length的單位是字符(表達(dá)一次讀多少字符))
copyfile(src,dst) #單純的僅復(fù)制文件內(nèi)容 , 底層調(diào)用了 copyfileobj
copymode(src,dst) #單純的僅復(fù)制文件權(quán)限 , 不包括內(nèi)容 (虛擬機(jī)共享目錄都是默認(rèn)777)
copystat(src,dst) #復(fù)制所有狀態(tài)信息,包括權(quán)限,組,用戶,修改時(shí)間等,不包括內(nèi)容
copy(src,dst) #復(fù)制文件權(quán)限和內(nèi)容
copy2(src,dst) #復(fù)制文件權(quán)限和內(nèi)容,還包括權(quán)限,組,用戶,時(shí)間等
copytree(src,dst) #拷貝文件夾里所有內(nèi)容(遞歸拷貝)
rmtree(path) #刪除當(dāng)前文件夾及其中所有內(nèi)容(遞歸刪除)
move(path1,paht2) #移動(dòng)文件或者文件夾
json模塊
所有編程語言都能夠識(shí)別的數(shù)據(jù)格式叫做json,是字符串
dumps 把任意對(duì)象序列化成一個(gè)str
loads 把任意str反序列化成原來數(shù)據(jù)
dump 把對(duì)象序列化后寫入到file-like Object(即文件對(duì)象)
load 把file-like Object(即文件對(duì)象)中的內(nèi)容拿出來,反序列化成原來數(shù)據(jù)
json 和 pickle 兩個(gè)模塊的區(qū)別:
(1)json序列化之后的數(shù)據(jù)類型是str,所有編程語言都識(shí)別,
但是僅限于(int float bool)(str list tuple dict None)
json不能連續(xù)load,只能一次性拿出所有數(shù)據(jù)
(2)pickle序列化之后的數(shù)據(jù)類型是bytes,
所有數(shù)據(jù)類型都可轉(zhuǎn)化,但僅限于python之間的存儲(chǔ)傳輸.
pickle可以連續(xù)load,多套數(shù)據(jù)放到同一個(gè)文件中
壓縮模塊-zipfile (后綴為zip)
zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
ZipFile(路徑包名,模式,壓縮or打包,可選allowZip64)
功能:創(chuàng)建一個(gè)ZipFile對(duì)象,表示一個(gè)zip文件.
參數(shù):
-參數(shù)file表示文件的路徑或類文件對(duì)象(file-like object)
-參數(shù)mode指示打開zip文件的模式,默認(rèn)值為r
r 表示讀取已經(jīng)存在的zip文件
w 表示新建一個(gè)zip文檔或覆蓋一個(gè)已經(jīng)存在的zip文檔
a 表示將數(shù)據(jù)追加到一個(gè)現(xiàn)存的zip文檔中。
-參數(shù)compression表示在寫zip文檔時(shí)使用的壓縮方法
zipfile.ZIP_STORED 只是存儲(chǔ)模式,不會(huì)對(duì)文件進(jìn)行壓縮,這個(gè)是默認(rèn)值
zipfile.ZIP_DEFLATED 對(duì)文件進(jìn)行壓縮
-如果要操作的zip文件大小超過2G,應(yīng)該將allowZip64設(shè)置為True。
壓縮文件
1.ZipFile() 寫模式w打開或者新建壓縮文件
2.write(路徑,別名) 向壓縮文件中添加文件內(nèi)容
3.close() 關(guān)閉壓縮文件
解壓文件
1.ZipFile() 讀模式r打開壓縮文件
2.extractall(路徑) 解壓所有文件到某個(gè)路徑下
extract(文件,路徑) 解壓指定的某個(gè)文件到某個(gè)路徑下
3.close() 關(guān)閉壓縮文件
追加文件(支持with寫法)
ZipFile() 追加模式a打開壓縮文件
查看壓縮包中的內(nèi)容namelist()
壓縮模塊-tarfile(后綴為.tar | .tar.gz | .tar.bz2)
bz2模式的壓縮文件較小 根據(jù)電腦的不同會(huì)差生不同的結(jié)果 (理論上:bz2壓縮之后更小,按實(shí)際情況為標(biāo)準(zhǔn))
w 單純的套一個(gè)后綴 打包
w:bz2 采用bz2算法 壓縮
w:gz 采用gz算法 壓縮
壓縮文件
#1.open('路徑包名','模式','字符編碼') 創(chuàng)建或者打開文件
#2.add(路徑文件,arcname="別名") 向壓縮文件中添加文件
#3,close() 關(guān)閉文件
解壓文件
1.open('路徑包名','模式','字符編碼') 讀模式打開文件
2.extractall(路徑) 解壓所有文件到某個(gè)路徑下
extract(文件,路徑) 解壓指定的某個(gè)文件到某個(gè)路徑下
3.close() 關(guān)閉壓縮文件
追加文件
open() 追加模式 a: 打開壓縮文件 正常添加即可
查看壓縮包中的內(nèi)容getnames()
正則表達(dá)
匹配單個(gè)字符 => [元字符] 預(yù)定義字符集
預(yù)定義字符集 | 匹配內(nèi)容 |
. |
匹配任意字符,除了換行符\n |
\d |
匹配數(shù)字 |
\D |
匹配非數(shù)字 |
\w |
匹配字母或數(shù)字或下劃線 (正則函數(shù)中,支持中文的匹配) |
\W |
匹配非字母或數(shù)字或下劃線 |
\s |
匹配任意的空白符 |
\S |
匹配任意非空白符 |
\n |
匹配一個(gè)換行符 |
\t |
匹配一個(gè)制表符 |
[] |
匹配中括號(hào)內(nèi)列舉的字符 |
字符組格式 | 說明 [默認(rèn)必須從字符組中選一個(gè)] |
[...] |
匹配字符組中的字符 |
[^...] |
匹配除了字符組內(nèi)所有內(nèi)容,之外的所有字符 |
字符組內(nèi)容 | 待匹配字符 | 匹配結(jié)果 | 說明 |
[0] |
8 |
True |
字符組里枚舉的各種字符,必須滿足一個(gè),否則返回假,不匹配 |
[abcdefg] |
9 |
False |
由于字符組中沒有"9"字符,所以不匹配 |
[0-9] |
7 |
True |
可用 - 表示范圍,[0-9] 和 [0]是一個(gè)意思 |
[a-z] |
s |
True |
[a-z]匹配所有的小寫字母 |
[A-Z] |
B |
True |
[A-Z]就表示所有的大寫字母 |
[0-9a-fA-F] |
e |
True |
可以匹配數(shù)字,大小寫形式的a-f. 該正則可驗(yàn)證十六進(jìn)制 |
(二) 匹配多個(gè)字符 => [元字符] 量詞符號(hào)
量詞 |
用法說明 |
|
|
--- |
--- |
|
|
? |
重復(fù)0次或1次 |
|
|
+ |
重復(fù)1次或多次 (至少1次) |
|
|
* |
重復(fù)0次或多次 (任意次) |
|
|
{n} |
重復(fù)n次 |
|
|
{n,} |
重復(fù)n次或更多次 (至少n次) |
|
|
{n,m} |
重復(fù)n到m次 |
|
|
.* .+ |
貪婪模式匹配 |
|
|
.*? .+? |
非貪婪模式匹配 |
|
貪婪匹配: 默認(rèn)向更多次數(shù)匹配 (底層用的是回溯算法)
非貪婪匹配: 默認(rèn)向更少次數(shù)匹配 (量詞的后面加?號(hào))
(1)量詞( * ? + {} )加上問號(hào)?表示非貪婪 惰性匹配
(2)例:.*?w 表示匹配任意長(zhǎng)度任意字符遇到一個(gè)w就立即停止
匹配開頭結(jié)尾 => [元字符] 邊界符號(hào)
邊界符 | 說明 |
\b |
匹配一個(gè)字符的邊界 |
^ |
匹配字符串的開始 |
$ |
匹配字符串的結(jié)尾 |
#### (四) 匹配分組 => [元字符] 分組符號(hào) |
|
分組 |
用法說明 |
--- |
--- |
a|b |
匹配字符a 或 字符b (如果兩個(gè)當(dāng)中有重合部分,把更長(zhǎng)的那個(gè)放前面) |
(ab) |
匹配括號(hào)內(nèi)的表達(dá)式 ,將()作為一個(gè)分組 |
\num |
引用分組num匹配到的字符串 |
(?P<name>) |
給分組命名 |
(?P=name) |
引用別名: 把name分組所匹配到的內(nèi)容引用到這里 |
分組
1.正常分組 ()
1) 正常情況下用()圓括號(hào)進(jìn)行分組 可以用\1 反向引用第一個(gè)圓括號(hào)匹配的內(nèi)容。
2) (?:正則表達(dá)式) 表示取消優(yōu)先顯示的功能
(正則表達(dá)式) 代表分組 findall 把所有分組的內(nèi)容顯示到列表里
(?:正則表達(dá)式) 代表分組 findall 把所有分組的內(nèi)容不顯示到列表里
2.命名分組
3) (?P<組名>正則表達(dá)式) 給這個(gè)組起一個(gè)名字
4) (?P=組名) 引用之前組的名字,把該組名匹配到的內(nèi)容放到當(dāng)前位置
正則表達(dá)式修飾符
常用修飾符 | 說明 |
re.I |
使匹配對(duì)大小寫不敏感 |
re.M |
使每一行都能夠單獨(dú)匹配(多行匹配),影響 ^ 和 $ |
re.S |
使 . 匹配包括換行在內(nèi)的所有字符 |
正則相關(guān)函數(shù)
findall 匹配字符串中相應(yīng)內(nèi)容,返回列表 [用法: findall("正則表達(dá)式","要匹配的字符串")]
search 通過正則匹配出第一個(gè)對(duì)象返回,通過group取出對(duì)象中的值
match 驗(yàn)證用戶輸入內(nèi)容
split 切割
sub 替換
subn 替換
finditer 匹配字符串中相應(yīng)內(nèi)容,返回迭代器
compile 指定一個(gè)統(tǒng)一的匹配規(guī)則
文章標(biāo)題:python函數(shù)快查快用
標(biāo)題路徑:http://chinadenli.net/article24/dsojoce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、外貿(mào)建站、商城網(wǎng)站、、網(wǎng)站內(nèi)鏈、用戶體驗(yàn)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)