国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python刪除指定目錄下過期文件的2個腳本分享

2020-02-23 05:16:14
字體:
來源:轉載
供稿:網友

腳本1:

這兩天用python寫了一個刪除指定目錄下過期時間的腳本。也可能是我初學python,對python還不夠熟習,總覺得這個腳本用shell寫應該更簡單也更容易些。
就功能上來說,該腳本已經實現了我想要的效果,不過該腳本還不夠通用性,還有更多可以完善的地方。目前該腳本在python2.4下運行良好。同時,我在腳本中加入了對python版本的判斷,理論上2.7下也應該可以正常使用。有環境的朋友可以幫忙測試一下。
該腳本不完善的地方在于,只能支持一級目錄下的文件刪除,還不支持目錄遞歸。同時過期文件的定義只能按week來做。

Python代碼:
代碼如下:
#! /usr/bin/env python
# -*- coding=utf-8 -*-
import sys
import os
import time,datetime

# 定義需要刪除文件的目錄
dir = '/data/webbak/'
# 被刪除文件寫入日志文件
logdir = '/var/log'
logfile = os.path.join(logdir, 'delete.log')

# 獲取當前系統python版本
ver = sys.version
ver = ver.split(' ')
ver = ver[0]

# 將"Wed Jul  4 13:25:59 2012"格式的時間轉成“2012-07-02 14:50:15”格式的時間
# version是當前系統python版本號
# time是"Wed Jul  4 13:25:59 2012"格式的時間
# 函數返回"2012-07-02 14:50:15"格式的時間
def string2time(str_time, version = ver):
 version_l = version.split('.')[0:2]
 ver = version_l[0] + '.' + version_l[1] 
 if (ver == '2.7'):
  f_time = datetime.datetime.strptime(str_time, time_format)
  f_time = f_time.strftime('%Y-%m-%d %H:%M:%S')
  return f_time
 elif(ver == '2.4'):
  f_time = time.strptime(str_time, time_format)
  f_time = datetime.datetime(*f_time[0:6])
  return f_time

# 時間格式
time_format = "%a %b %d %H:%M:%S %Y"
# 取得當前時間
today = datetime.datetime.now()
# 定義4個星期
four_weeks = datetime.timedelta(weeks=6)
# 4星期前的日期
four_weeks_ago = today - four_weeks
# 將時間轉成timestamps
four_weeks_ago_timestamps = time.mktime(four_weeks_ago.timetuple())
# 列出目錄中的所有文件
files = os.listdir(dir)
# 打開要刪除的文件日志
fh = open(logfile, "w+")
# 遍歷文件,打印出文件的創建時間
for f in files:
 # 忽略掉.開頭的文件
 if f.startswith('.'):
  continue
 # 忽略掉當前目錄下的目錄
 if os.path.isdir(os.path.join(dir,f)):
  continue
 # 獲得文件的modify時間,并轉換成timestamp格式
 file_timestamp = os.path.getmtime(os.path.join(dir, f))
 file_time_f = string2time(time.ctime(file_timestamp))
 if float(file_timestamp) <= float(four_weeks_ago_timestamps):
  fh.write(str(today) + "/t" + str(file_time_f) + "/t" + os.path.join(dir,f) + "/n")
  os.remove(os.path.join(dir,f))

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄯善县| 台湾省| 道孚县| 安宁市| 环江| 阜新| 兴宁市| 鄂托克旗| 阳信县| 来安县| 砚山县| 长治市| 耒阳市| 松潘县| 泸水县| 本溪| 佛山市| 萍乡市| 车险| 贵阳市| 荣昌县| 明溪县| 梅河口市| 涪陵区| 彭山县| 黔西县| 乐清市| 华池县| 大余县| 开江县| 湖北省| 永新县| 临城县| 迁安市| 江华| 政和县| 芒康县| 兰州市| 沙河市| 张家口市| 霍林郭勒市|