最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python刪除過期log文件操作實例解析

 更新時間:2018年01月31日 09:08:35   作者:y2701310012  
這篇文章主要介紹了python刪除過期log文件,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是python刪除過期log文件的相關(guān)內(nèi)容,具體介紹如下。

1. 用Python遍歷目錄

os.walk方法可以很方便的得到目錄下的所有文件,會返回一個三元的tupple(dirpath, dirnames, filenames),其中,dirpath是代表目錄的路徑,dirnames是一個list,包含了dirpath下的所有子目錄的名字,filenames是一個list,包含了非目錄的文件,如果需要得到全路徑,需要使用os.path.join(dirpath,name).例如test目錄的結(jié)構(gòu)為:

test------------file_c
|
-----------dir_a1/file_a1
| |
| -------dir_a2/file_a2
|
------------dir_b1/file_b1

那么使用如下代碼:

import os 
 
for i in os.walk('test'): 
   print i 

結(jié)果為:

('test', ['dir_a1', 'dir_b1'], ['file_c1'])('test/dir_a1', ['dir_a2'], ['file_a1'])('test/dir_a1/dir_a2', [], ['file_a2'])('test/dir_b1', [], ['file_b1'])

要得到帶路徑的文件,則可以這樣操作:

for i in os.walk('test'): 
   #print i 
   for j in i[2]: 
     os.path.join(i[0],j) 

結(jié)果為:

'test/file_c1'
'test/dir_a1/file_a1'
'test/dir_a1/dir_a2/file_a2'
'test/dir_b1/file_b1'

當然,也可以利用os.path.isdir判斷來遞歸操作得到目錄中的文件:

def walk(dir): 
  ret = [] 
  dir = os.path.abspath(dir) 
  for file in [file for file in os.listdir(dir) if not file in [".",".."]]: 
    nfile = os.path.join(dir,file) 
    if os.path.isdir(nfile): 
      ret.extend( walk(nfile) ) 
    else: 
      ret.append( nfile ) 
  return ret 

2. 排除需要保留文件

根據(jù)特定名稱的文件以及文件更改時間來判斷是否需要刪除,os.path.getmtime(file)來得到文件最后改變的時間,當然除了諸如“XXX" in file的方法來判斷文件名外,也可以采用正則表達式的方法。

def shouldkeep(file): 
  if '.py' in file: 
    return True 
  elif '.conf' in file: 
    return True 
  elif 'current' in file: 
    return True 
  elif 'rtb' in file and datetime.datetime.fromtimestamp( os.path.getmtime(file) ) > datetime.datetime.now() - datetime.timedelta(3): 
    return True 
  # the log webdebug/popterr/webaccess/controller_slow/game/checking_social which are modified 6 day ago should be removed 
  elif datetime.datetime.fromtimestamp( os.path.getmtime(file) ) < \ 
     datetime.datetime.now() - datetime.timedelta(6)\ 
     and ('webdebug' in file \ 
     or 'potperr' in file\ 
     or 'webaccess' in file\ 
     or 'controller_slow' in file\ 
     or 'game.' in file\ 
     or 'checkin_social' in file\ 
     ): 
    return False 
  elif datetime.datetime.fromtimestamp( os.path.getmtime(file) ) < \ 
     datetime.datetime.now() - datetime.timedelta(2)\ 
     and ('queue.master.info' in file): 
    return False 
  elif datetime.datetime.fromtimestamp( os.path.getmtime(file) ) > \ 
     datetime.datetime.now() - datetime.timedelta(6): 
    return True 
  else: 
    return False 
files = walk('/var/server/log') 
for i in files: 
  if not shouldkeep(i): 
    print i, datetime.datetime.fromtimestamp( os.path.getmtime(i) ) 
    os.remove( i ) 

將該腳本用crontab定時每天執(zhí)行一次,即可定期每天清理/var/server/log下的過期文件。

總結(jié)

以上就是本文關(guān)于python刪除過期log文件操作實例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • 在python shell中運行python文件的實現(xiàn)

    在python shell中運行python文件的實現(xiàn)

    今天小編就為大家分享一篇在python shell中運行python文件的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Pycharm 文件更改目錄后,執(zhí)行路徑未更新的解決方法

    Pycharm 文件更改目錄后,執(zhí)行路徑未更新的解決方法

    今天小編就為大家分享一篇Pycharm 文件更改目錄后,執(zhí)行路徑未更新的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python去掉行尾的換行符方法

    python去掉行尾的換行符方法

    下面小編就為大家?guī)硪黄猵ython去掉行尾的換行符方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python 用 xlwings 庫 生成圖表的操作方法

    python 用 xlwings 庫 生成圖表的操作方法

    這篇文章主要介紹了python 用 xlwings 庫 生成圖表的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Python編寫合并字典并實現(xiàn)敏感目錄的小腳本

    Python編寫合并字典并實現(xiàn)敏感目錄的小腳本

    這篇文章主要介紹了Python編寫合并字典并實現(xiàn)敏感目錄的小腳本,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Python文件操作基本流程代碼實例

    Python文件操作基本流程代碼實例

    這篇文章主要介紹了Python文件操作基本流程代碼實例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python3匿名函數(shù)用法示例

    Python3匿名函數(shù)用法示例

    這篇文章主要介紹了Python3匿名函數(shù)用法,結(jié)合實例形式分析了Python3匿名函數(shù)的概念、功能、使用方法及相關(guān)操作注意事項,代碼中備有較為詳盡的注釋說明便于理解,需要的朋友可以參考下
    2018-07-07
  • python 通過視頻url獲取視頻的寬高方式

    python 通過視頻url獲取視頻的寬高方式

    今天小編就為大家分享一篇python 通過視頻url獲取視頻的寬高方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 用Python爬取指定關(guān)鍵詞的微博

    用Python爬取指定關(guān)鍵詞的微博

    這篇文章主要介紹了用Python爬取指定關(guān)鍵詞的微博,下面文章圍繞Python爬取指定關(guān)鍵詞的微博的相關(guān)資料展開詳細內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例

    Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例

    這篇文章主要介紹了Python3調(diào)用微信企業(yè)號API發(fā)送文本消息代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論

九龙坡区| 启东市| 青河县| 山阳县| 扎赉特旗| 房产| 金寨县| 新田县| 三明市| 铁岭市| 东丽区| 祥云县| 北安市| 平安县| 乌鲁木齐县| 玛多县| 嘉兴市| 孝昌县| 怀安县| 东海县| 湟源县| 富民县| 刚察县| 五莲县| 喀什市| 阿巴嘎旗| 大渡口区| 通榆县| 闵行区| 鄂尔多斯市| 赤水市| 灌阳县| 镇雄县| 河源市| 繁峙县| 天津市| 安塞县| 红桥区| 得荣县| 怀宁县| 民和|