真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python函數(shù)列表解壓 python 函數(shù) 列表

下載python然后有一堆文件要解壓

python一堆文件解壓方法如下。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、虛擬主機、營銷軟件、網(wǎng)站建設、無錫網(wǎng)站維護、網(wǎng)站推廣。

壓縮包解壓要用的是zipfile這個包。

zip_file = zipfile.ZipFile(r'D:\數(shù)據(jù)源\XX_%s.zip'%yday)

zip_list = zip_file.namelist() # 壓縮文件清單,可以直接看到壓縮包內(nèi)的各個文件的明細

for f in zip_list: # 遍歷這些文件,逐個解壓出來,

zip_file.extract(f,r'D:\數(shù)據(jù)源')

zip_file.close() # 不能少!

print('昨日日志解壓完成,請在文件夾中驗收!') # 當然我是不需要查收的(*/ω\*)

這里的解壓操作實際就相當于鼠標右鍵“解壓到當前文件夾”的效果。

完成解壓后運行.close()是個比較好的習慣,否則可能會導致包括但不限于:

文件會一直被占用著,可能無法重新打開;

在進程結(jié)束之前文件都刪不掉;

文件內(nèi)容不能即時 flush 到磁盤直到進程結(jié)束;

到此,整個流程在無需打開瀏覽器和文件夾的情況下便自動完成了。

為了方便日常運行代碼,這里把上面的兩個流程包裝成一個函數(shù),下載解壓

#下載昨日日志

def download_XXlog():

yday = (date.today()+timedelta(days=-1)).strftime('%Y%m%d') # 獲取昨日日期

r =? requests.get(''%yday) # 獲取以日期命名的壓縮包信息

with open(r'D:\數(shù)據(jù)源\XX_%s.zip'%yday,'wb') as code: # 將壓縮包內(nèi)容寫入到 "D:\數(shù)據(jù)源\" 下,并按日期命名

code.write(r.content)

print('昨日XX日志下載完成。')

zip_file = zipfile.ZipFile(r'D:\數(shù)據(jù)源\XX_%s.zip'%yday)

zip_list = zip_file.namelist() # 壓縮文件清單,可以直接看到壓縮包內(nèi)的各個文件的明細

for f in zip_list: # 遍歷這些文件,逐個解壓出來,

? ? zip_file.extract(f,r'D:\數(shù)據(jù)源')

zip_file.close() # 不能少!

print('昨日日志解壓完成,請在文件夾中驗收!')

download_XXlog()

拓展

作為拓展,這里再加一個可以根據(jù)實際情況輸入(input)起始和終止日期,來下載一個特定時間段日志的函數(shù),這里就涉及了datetime和time這兩個工具包了。

python zip函數(shù)的用法

定義:zip([iterable, ...])

zip()是Python的一個內(nèi)建函數(shù),它接受一系列可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個tuple(元組),然后返回由這些 tuples組成的list(列表)。若傳入?yún)?shù)的長度不等,則返回list的長度和參數(shù)中長度最短的對象相同。利用*號操作符,可以將list unzip(解壓),看下面的例子就明白了:

1 2 3 4 5 6 7 8 9

a = [1,2,3] b = [4,5,6] c = [4,5,6,7,8] zipped = zip(a,b) [(1, 4), (2, 5), (3, 6)] zip(a,c) [(1, 4), (2, 5), (3, 6)] zip(*zipped) [(1, 2, 3), (4, 5, 6)]

對于這個并不是很常用函數(shù),下面舉幾個例子說明它的用法:

* 二維矩陣變換(矩陣的行列互換)

比如我們有一個由列表描述的二維矩陣

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

通過python列表推導的方法,我們也能輕易完成這個任務

1 2

print [ [row[col] for row in a] for col in range(len(a[0]))] [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

另外一種讓人困惑的方法就是利用zip函數(shù):

1 2 3 4 5

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] zip(*a) [(1, 4, 7), (2, 5, 8), (3, 6, 9)] map(list,zip(*a)) [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

這種方法速度更快但也更難以理解,將list看成tuple解壓,恰好得到我們“行列互換”的效果,再通過對每個元素應用list()函數(shù),將tuple轉(zhuǎn)換為list

* 以指定概率獲取元素

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

import random def random_pick(seq,probabilities): x = random.uniform(0, 1) cumulative_probability = 0.0 for item, item_probability in zip(seq, probabilities): cumulative_probability += item_probability if x cumulative_probability: break return item for i in range(15): random_pick("abc",[0.1,0.3,0.6]) 'c' 'b' 'c' 'c' 'a' 'b' 'c' 'c' 'c' 'a' 'b' 'b' 'c' 'a' 'c'

這個函數(shù)有個限制,指定概率的列表必須和元素一一對應,而且和為1,否則這個函數(shù)可能不能像預想的那樣工作。

稍微解釋下,先利用random.uniform()函數(shù)生成一個0-1之間的隨機數(shù)并復制給x,利用zip()函數(shù)將元素和他對應的概率打包成tuple,然后將每個元素的概率進行疊加,直到和大于x終止循環(huán)

這樣,”a”被選中的概率就是x取值位于0-0.1的概率,同理”b”為0.1-0.4,”c”為0.4-1.0,假設x是在0-1之間平均取值的,顯然我們的目的已經(jīng)達到

[小白自學python]如何理解與應用裝包與解包?

您說的裝包是用元組,解包是用比如a, b, c = test_list (假設test_list為[1, 2, 3])

Python的函數(shù)都有哪些

【常見的內(nèi)置函數(shù)】

1、enumerate(iterable,start=0)

是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。

2、zip(*iterables,strict=False)

用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。

3、filter(function,iterable)

filter是將一個序列進行過濾,返回迭代器的對象,去除不滿足條件的序列。

4、isinstance(object,classinfo)

是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實例,或者object是classinfo類的子類的一個實例,

返回True。如果object不是一個給定類型的的對象, 則返回結(jié)果總是False

5、eval(expression[,globals[,locals]])

用來將字符串str當成有效的表達式來求值并返回計算結(jié)果,表達式解析參數(shù)expression并作為Python表達式進行求值(從技術(shù)上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。

【常用的句式】

1、format字符串格式化

format把字符串當成一個模板,通過傳入的參數(shù)進行格式化,非常實用且強大。

2、連接字符串

常使用+連接兩個字符串。

3、if...else條件語句

Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。

4、for...in、while循環(huán)語句

循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。

5、import導入其他腳本的功能

有時需要使用另一個python文件中的腳本,這其實很簡單,就像使用import關(guān)鍵字導入任何模塊一樣。


當前文章:python函數(shù)列表解壓 python 函數(shù) 列表
新聞來源:http://weahome.cn/article/dogiccs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部