SORU
30 Mart 2009, PAZARTESİ


Ne zaman bir dize python ile milisaniye içeren ayrıştırabilir miyim?

Zaman/tarih içeren dizeleri ayrıştırmak için mümkün duyuyorumzaman.strptime

>>> import time
>>> time.strptime('30/03/09 16:31:32', '%d/%m/%y %H:%M:%S')
(2009, 3, 30, 16, 31, 32, 0, 89, -1)

Nasıl milisaniye içeren zaman bir dize ayrıştırmak miyim?

>>> time.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/_strptime.py", line 333, in strptime
    data_string[found.end():])
ValueError: unconverted data remains: .123

CEVAP
30 Mart 2009, PAZARTESİ


Python 2.6 yeni strftime/strptime mikrosaniye yapan %f, makro ekledi. Eğer bu her yerde belgelenmiş olup olmadığından emin değil. Ama eğer 2.6 kullanıyorsanız veya 3.0, bunu yapabilirsiniz:

time.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S.%f')

Edit: ben asla bunu ilk başta fark etmedim, ama o zaman görünmesi gerçekten time modülü ile çalışır.struct_time aslında milisaniye/mikrosaniye mağaza yok. Daha iyi böyle datetime, kullanıyor olabilir:

>>> from datetime import datetime
>>> a = datetime.strptime('30/03/09 16:31:32.123', '%d/%m/%y %H:%M:%S.%f')
>>> a.microsecond
123000

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007