#!/usr/bin/env python
# -*- coding:utf-8 -*-

#
# update the file's time using the shell cmd 'touch'
# 
# e.g.
#  1. touchdir 
#		this will touch current file path
#  2. touchdir [path]
#		this will touch the [path]
#
# @author BrettZhang


import sys
import os
import time

def touchFile(path) :
	if not os.path.exists(path):
		return False
	if not os.path.isfile(path) :
		return False
	if not os.path.isabs(path) :
		path = os.path.abspath(path)
	cmd = "touch " + str(path)
	print "  ",cmd
	os.system(cmd)

def iterativeFiles(path) :
	if os.path.isdir(path):
		files = os.listdir(path)
		for f in files :
			# here must call the join method to fetch the corrent file path.
			iterativeFiles(os.path.join(path,f))
	elif os.path.isfile(path) :
		touchFile(path)
	
if __name__ == "__main__" :
	args = sys.argv
	
	if len(args) == 1 :
		currentPath = os.getcwd()
	else:
		currentPath = args[1]
	
	if not os.path.isabs(currentPath):
		currentPath = os.path.abspath(currentPath)
	
	print "Path : " + currentPath
	startTime = time.time()
	iterativeFiles(currentPath)
	costTime = time.time() - startTime
	print 'cost time : %0.3fms' %costTime

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐