2009年6月12日

Python Parser for command line options

Parser for command line options

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Filename: ListFileByDay.py

usage = """
usage: ListFileByDay [-d days] [-p path]
-d days : recent file days (default 5)
-p path : list file path (default '.')
"""

import sys
import os
import getopt
import time

def main(args=sys.argv[1:], out=sys.stdout):
now = time.time()
try:
opts, args = getopt.getopt(args, 'd:p:')
days = 5
srcPath = '.'

for o, a in opts:
if o == '-d':
days = int(a)
elif o == '-p':
srcPath = a

for root, dirs, files in os.walk(srcPath, topdown=False):
for name in files:
fn = os.path.join(root, name)
if os.path.getmtime(fn) > now - (days * 24 * 60 * 60) :
print os.path.join(root, name)

except getopt.error, msg:
sys.stderr.write('%s: %s\n%s' % (sys.argv[0], msg, usage))
return 2

if __name__ == '__main__' or __name__ == sys.argv[0]:
sys.exit(main(sys.argv[1:], sys.stdout))

# ListFileByDay.py --help

沒有留言:

網誌存檔