python 變數只用一次 葫蘆的運維日誌

2021-10-11 13:08:24 字數 1166 閱讀 3218

搜尋瀏覽量 1500

2017/10/30 01:12

需求:檢查目錄下檔案包含時間格式 yyyy-mm-dd-hh 且檔案字尾不為gz的檔案,當檔案數等於3時返回true其他情況false。

實現:用匿名函式實現了此功能,卻意外發現了 將匿名函式賦給變數後,重複執行只能得到第一次的結果。

匿名函式賦給變數,只能用一次。以後需要避免此坑。

python3.5:

python 3.5.1 (v3.5.1:37a07cee5969, dec 5 2015, 21:12:44)

>>> chk = lambda b6=(datetime.datetime.now()+datetime.timedelta(hours=-6)).strftime('%y-%m-%d-%h'), x = [s for s in filter(lambda li: not li.endswith('gz'),os.listdir())]:'%s success' % b6 if len([z for z in x if b6 in z])==3 else '%s failure' % b6

>>> os.listdir()

['video2018-10-29-18.log', 'two2018-10-29-19.log', 'music2018-10-29-18.log', '1.txt', 'one2018-10-29-19.log']

>>> chk()

'2018-10-29-19 failure'

>>> open('./three2018-10-29-19.log','w').close()

>>> chk()

'2018-10-29-19 failure'

>>> chk = lambda b6=(datetime.datetime.now()+datetime.timedelta(hours=-6)).strftime('%y-%m-%d-%h'), x = [s for s in filter(lambda li: not li.endswith('gz'),os.listdir())]:'%s success' % b6 if len([z for z in x if b6 in z])==3 else '%s failure' % b6

>>> chk()

'2018-10-29-19 success'

搜尋

Queue 佇列用陣列實現 只用一次的

queue 可以用陣列,也可以用鍊錶來實現 我們會有兩個指標,乙個指標負責新增資料,乙個指標負責減少資料 package structure public class quedemo class quepublic boolean isfull public boolean isempty publ...

HQOS嗨趣一次性霧化煙「葫蘆「

最近身邊的朋友問我有沒有那種不需要充電的,很方便的,小巧的直接拿嘴就可以吸的電子煙,我說有啊,但我沒有直接告訴他是什麼。而是告訴他乙個關於葫蘆變煙的故事。一棵葫蘆不能長成乙個葫蘆娃,卻可以變成一支煙。這支煙,不需要點火,不需要充電 不重複使用 不用注油,所以也不會漏油 這只葫蘆煙,就是獨創的史上最纖...

oracle into 一次給多個變數賦值

建表,插資料 prompt pl sql developer import file prompt created on 2012年5月23日 by administrator set feedback off set define off prompt creating student.creat...