Sort files by modification date.
mtime.py
# coding: utf-8
import os
import time
import datetime
def sort_mtime(rootdir):
xs = []
for root, dir, files in os.walk(rootdir):
for f in files:
path = os.path.join(root, f)
xs.append((os.path.getmtime(path), path))
for mtime, path in sorted(xs):
name = os.path.basename(path)
t = datetime.datetime.fromtimestamp(mtime)
print(t, name)
def main():
sort_mtime('.')
if __name__ == '__main__':
main()
This is the execution result.
python
% python3 mtime.py
2015-01-17 13:52:15 mtime.py
2015-01-17 13:58:36 readme.md
2015-01-17 14:17:48 mtime.rb
mtime.rb
require 'find'
def sort_mtime(rootdir)
xs = []
Find.find(rootdir) { |f|
xs << [File::mtime(f), f] if File::file?(f)
}
xs.sort.each { |mtime, f|
puts "#{mtime} #{f}"
}
end
if __FILE__ == $0
sort_mtime('.')
end
This is the execution result.
python
% ruby mtime.rb
2015-01-17 13:52:15 +0900 ./mtime.py
2015-01-17 13:58:36 +0900 ./readme.md
2015-01-17 14:17:48 +0900 ./mtime.rb