190f5ba538bf40bcf4fd41049c7bf4296d3ffc9c7Benjamin Peterson#! /usr/bin/env python3 25378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 35378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum# Copy one file's atime and mtime to another 45378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 55378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumimport sys 69a6757dadeab6077f26f3bdfda17585780468121Guido van Rossumimport os 75378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumfrom stat import ST_ATIME, ST_MTIME # Really constants 7 and 8 85378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 95378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumdef main(): 108efadf5d6613e76dfc5476f58adb9a2135173129Georg Brandl if len(sys.argv) != 3: 1170c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write('usage: copytime source destination\n') 1270c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(2) 1370c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters file1, file2 = sys.argv[1], sys.argv[2] 1470c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters try: 1570c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters stat1 = os.stat(file1) 168b33dd8e547790af86e9fc85ea6c315ead276b6eAndrew Svetlov except OSError: 1770c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write(file1 + ': cannot stat\n') 1870c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(1) 1970c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters try: 2070c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters os.utime(file2, (stat1[ST_ATIME], stat1[ST_MTIME])) 218b33dd8e547790af86e9fc85ea6c315ead276b6eAndrew Svetlov except OSError: 2270c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write(file2 + ': cannot change time\n') 2370c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(2) 245378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 25e236b38731823aeb87bb6d101062f54a72044954Andrew M. Kuchlingif __name__ == '__main__': 26e236b38731823aeb87bb6d101062f54a72044954Andrew M. Kuchling main() 27