On May 31, 7:37 am, jkv <j...@unixcluster.dk> wrote: > mar...@hvidberg.net wrote: > > Thanks both > > > The first answer is quite instuctive, the other one might be the one > > I'll use in t > > I didn't receive the other answer, could you please forward it to me?> So 2x > thanks. > > You are welcome. > > I took another look at your code, and you can compress it all to a if > "oneliner": > (and thanks to Steven for the <= reminder) > > if os.path.isfile(x): > nSize = os.path.getsize(x) > #if oneliner > if time.mktime(time.localtime()) - > time.mktime(time.localtime(os.path.getmtime(x))) <= 3600: > print ('HT fil -> %s %d @ %s') % (x, nSize, time.asctime)
There is no virtue in onelinedness if the code is unclear and/or incorrect. Problems: (1) Converting UTC time to local time and back again?? > import time You are in a maze of twisty little functions, all alike. So it can pay to do things a step at a time, and leave a note of your intentions at each step. (2) Consider grabbing the "current time" once instead of each for each file (3) asctime ... you are missing (an_argument) import os, time, sys def buildList(directory): listing = os.listdir(directory) now_utc_secs = time.time() for x in os.listdir(directory): x = os.path.join(directory, x) if os.path.isdir(x): print ('dir -> %s') % x elif os.path.isfile(x): mtime_utc_secs = os.path.getmtime(x) if now_utc_secs - mtime_utc_secs <= 3600.0: nSize = os.path.getsize(x) mtime_local_tuple = time.localtime(mtime_utc_secs) mtime_local_text = time.asctime(mtime_local_tuple) print ('fil -> %s %d @ %s') % (x, nSize, mtime_local_text) tstN = time.localtime() print tstN print "Time now: %s" % time.asctime(tstN) buildList(sys.argv[1]) HTH, John -- http://mail.python.org/mailman/listinfo/python-list