If I'm reading it correctly, it's a 5 hr difference? Local vs gmt?
On Thu, Mar 4, 2021, 6:43 PM Bruce Labitt <bruce.lab...@myfairpoint.net> wrote: > This is an odd question. It involves both python and linux. > > Have a bunch of files in a directory that I'd like like to sort by similar > names and in time order. This isn't particularly difficult in python. > What is puzzling me is the modified timestamp returned by python doesn't > match whats reported by the file manager nautilus or even ls. (ls and > nautilus are consistent) > $ lsb_release -d Ubuntu 20.04.2 LTS > $ nautilus --version GNOME nautilus 3.36.3 > > $ python3 --version Python 3.8.5 > > $ ls -lght > total 4.7M > -rw-r--r-- 1 bruce 209K Feb 26 01:49 20210226_022134_PLD.edf > -rw-r--r-- 1 bruce 65K Feb 26 01:49 20210226_022134_SAD.edf > -rw-r--r-- 1 bruce 2.4M Feb 26 01:49 20210226_022133_BRP.edf > -rw-r--r-- 1 bruce 1.1K Feb 26 00:58 20210225_224134_EVE.edf > -rw-r--r-- 1 bruce 1.9M Feb 25 21:18 20210225_224141_BRP.edf > -rw-r--r-- 1 bruce 169K Feb 25 21:17 20210225_224142_PLD.edf > -rw-r--r-- 1 bruce 53K Feb 25 21:17 20210225_224142_SAD.edf > > Python3 script > > #!/usr/bin/env python3 > import os > from datetime import datetime > > def convert_date(timestamp): > d = datetime.utcfromtimestamp(timestamp) > formatted_date = d.strftime('%d %b %Y %H:%M:%S') > return formatted_date > > with os.scandir('feb262021') as entries: > for entry in entries: > if entry.is_file(): > info = entry.stat() > print(f'{entry.name}\t Last Modified: {convert_date(info.st_mtime) > }' ) # last modification > > info *(after exit) contains*: os.stat_result(st_mode=33188, > st_ino=34477637, st_dev=66306, st_nlink=1, st_uid=1000, st_gid=1000, > st_size=213416, st_atime=1614379184, st_mtime=1614322176, > st_ctime=1614379184) > > Running the script results in: > > 20210226_022133_BRP.edf Last Modified: 26 Feb 2021 06:49:34 > 20210225_224141_BRP.edf Last Modified: 26 Feb 2021 02:18:42 > 20210225_224142_PLD.edf Last Modified: 26 Feb 2021 02:17:44 > 20210225_224142_SAD.edf Last Modified: 26 Feb 2021 02:17:44 > 20210225_224134_EVE.edf Last Modified: 26 Feb 2021 05:58:26 > 20210226_022134_SAD.edf Last Modified: 26 Feb 2021 06:49:36 > 20210226_022134_PLD.edf Last Modified: 26 Feb 2021 06:49:36 > > Actually, what is returned by my script is at least sensible, given that > 20210225_224141_BRP.edf started on Feb 25th and ended recording at 2:17am > on Feb 26th. I know this because I can see the data on a separate > program. 20210226_022133_BRP.edf started on Feb 26th at around 2:21am > and terminated at 6:49am. BRP files are written to continuously at a 25 Hz > rate all evening. What makes no sense whatsoever is what *ls* is > reporting. > > Do *ls* and python3 use different definitions of "last modified"? > > Guess I can keep going, but I really was surprised at the difference > between methods. Default for ls is "last modified", at least as reported > by man. ls's last modified just isn't correct, at least on Ubuntu 20.04.2 > > Is this a quirk? Am I doing something wrong? Some kind of voodoo > definition of "last modified"? What does Linux say "last modified" really > means? > > FWIW, I am coming up to speed on processing these edf files to help out on > an open source project. Been working on some data analysis tools. As an > aside, biological data is very messy. It's been a treat to work on this as > it's forced me to dust off the mental cobwebs and work on a problem that > can help a lot of people. > > > _______________________________________________ > gnhlug-discuss mailing list > gnhlug-discuss@mail.gnhlug.org > http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/ >
_______________________________________________ gnhlug-discuss mailing list gnhlug-discuss@mail.gnhlug.org http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/