delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/05/28/21:41:11

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:to:from:subject:message-id:date:mime-version
:content-type:content-transfer-encoding; q=dns; s=default; b=m/1
XETcPcuSUdcjXzmNuxYyLsUPTutbfhbcjhXyuoKlkYQI8/ABHLiETAWjRqHsgQB1
wcfXSCrd3ZmFpj3tL8R3N/8qTbRGvGdwEF1dZ1Tacx4o3BNenXukggkpd9O5ZJmL
FcSxJ24T/wsavJV8hDZzMa/a9Z9M0CEyK2/8NqfI=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:to:from:subject:message-id:date:mime-version
:content-type:content-transfer-encoding; s=default; bh=j9ADRo/Va
7x5YMXPDDg9JxBaREU=; b=eybz4HIVcKTAjf8De8uNAXnKTeo4SsclcNH92M9XD
YvHQkZECYgva2eqgN9vn1qf6VIV2WWAS1ImupC6db1HCbsR7WPv/eQOjRb8qHieN
H8S63ZNJ9ZsBWcaZ9lFxzOr//fqK2tmRIv0JxEvviPJpPmFUeCKeV6lcxR+hoTz/
FU=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=3.2 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=H*RU:sk:relay.m, Hx-spam-relays-external:sk:relay.m, Birth, HX-HELO:sk:relay.m
X-HELO: relay.mailchannels.net
X-Sender-Id: wwwh|x-authuser|mitch AT houseofpain DOT org
X-Sender-Id: wwwh|x-authuser|mitch AT houseofpain DOT org
X-MC-Relay: Neutral
X-MailChannels-SenderId: wwwh|x-authuser|mitch AT houseofpain DOT org
X-MailChannels-Auth-Id: wwwh
X-MC-Loop-Signature: 1464486031997:972054104
X-MC-Ingress-Time: 1464486031996
To: cygwin AT cygwin DOT com
From: Mitch Deoudes <mitch AT houseofpain DOT org>
Subject: cygwin python os.stat gives wrong ctime
Message-ID: <574A486B.6000506@houseofpain.org>
Date: Sat, 28 May 2016 21:39:55 -0400
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
MIME-Version: 1.0
X-AuthUser: mitch AT houseofpain DOT org

According to the python docs, os.stat() gives the following for st_ctime:

     "|st_ctime| - platform dependent; time of most recent metadata 
change on Unix, or the time of creation on Windows"

To reproduce:
     1) touch foo
     2) wait a minute
     3) touch foo
     4) use python's os.stat() on the file foo

cygwin's python 2.7.10 gives (me) the same number for mtime, ctime, and 
atime:

     posix.stat_result(st_mode=33276, st_ino=40532396646393057, 
st_dev=1079873317, st_nlink=1, st_uid=1001, st_gid=513, st_size=0, 
st_atime=1464482278, st_mtime=1464482278, st_ctime=1464482278)

However, cygwin's built-in stat command gives (correctly) the addtional 
"birth time", which is different:

     Access: 2016-05-28 20:37:58.748977000 -0400
     Modify: 2016-05-28 20:37:58.748977000 -0400
     Change: 2016-05-28 20:37:58.748977000 -0400
     Birth: 2016-05-28 20:36:34.514159100 -0400

The non-cygwin version of Windows python from python.org (v2.7.11) 
behaves correctly as per spec:

     nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, 
st_uid=0, st_gid=0, st_size=0L, st_atime=1464482278L, 
st_mtime=1464482278L, st_ctime=1464482194L)

Am I missing something, or is this a bug in cygwin's python?  You could 
argue that ctime is properly "change" and not "birth", but that's not 
what the python spec says it should be on Windows.

More importantly, is there some other way of getting the "birth" time 
from within cygwin's python?  I'm currently calling out to the cygwin 
shell using os.popen('stat "%W" <file>'), but that's not particularly 
efficient, and it doesn't give subsecond precision.

mitch

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019