12
stat()
से पुनर्प्राप्त एक संशोधित समय से कनवर्ट करने के लिए सबसे बेवकूफ/कुशल तरीका क्या है datetime
ऑब्जेक्ट पर कॉल करें? मैं निम्नलिखित (python3) के साथ आया था:स्टेट से()। St_mtime से डेटाटाइम?
from datetime import datetime, timedelta, timezone
from pathlib import Path
path = Path('foo')
path.touch()
statResult = path.stat()
epoch = datetime(1970, 1, 1, tzinfo=timezone.utc)
modified = epoch + timedelta(seconds=statResult.st_mtime)
print('modified', modified)
एक मुक्केबाज़ी दौर लगता है, और थोड़ा आश्चर्य की बात मैं मुश्किल कोड को वहाँ में यूनिक्स काल है। क्या कोई और सीधा तरीका है?
स्पष्ट है कि, कि एक वैकल्पिक निर्माता ('classmethod')' datetime' _class_, नहीं 'datetime' _module_ के एक समारोह पर है। इसलिए यदि आपके पास फ़ाइल के शीर्ष पर 'डेटाटाइम आयात करें' है, तो आपको 'datetime.datetime.fromtimestamp (...)' की आवश्यकता होगी। इसके अलावा, ओपी को 'pathlib' का उपयोग कर रहा है, न कि' os.path', जो 'पथ () होना चाहिए। Stat()। St_mtime'; उन्होंने कभी भी 'ओएस' आयात नहीं किया, इसलिए 'os.path' से' path.getmtime' का उपयोग करके ओपी के संदर्भ में थोड़ा भ्रमित हो सकता है। –
ShadowRanger
मैंने आयात डेटाटाइम के साथ दो बार उपयोग किए जाने वाले डेटाटाइम को दिखाने के लिए इसे सही किया है। – CashCow