As cia gal ne labai y tema bet apie string, turiu klausima. Turiu susirases y faila string pavidalu tokius duomenis 2010-01-12 20:20:12.345 , nusiskaitau is failo man reikiama laika, bet jis string pavaidalo ir negaliu daryt jokiu veiksmu(+, -). kaip man pasiverst i kita formata, su kuriuo galeciau atlikt veiksmus? arba kokiu budu yrasinet y faila kad poto nusiskaitant nekiltu problemu ir galeciau dirbt su tais duoemnim? Aciu.
to kar0lis: visu pirma reiktu nepatingeti ir smegenis pasukti, o tada butu m sumastes, kad googlo reik paklausit klausimo: "python string to date".
Na o googlas budamas geras tau pirmasis variantais jau butu ispjoves tai ko tau reikia.
stai vienas is variantu ka radau pirmuosiuose urluose:
import time
datestring = "21Jun2000"
c = time.strptime(datestring,"%d%b%Y")
time.strftime("%d %b %Y",c)
'21 Jun 2000'
Isbandytas jau sitas ne syki, nieko gero, tiksliau jis nesuveikia kai man reik kad grazintu milisec, arba kitaip tariant nerandu tokio directive'o:
time0=f.readline()[55:67]
b=time.strptime(time0,'%H:%M:%S.%m')
print time.strftime('%H:%M:%S.%m',b)
ir ismeta:
ValueError: unconverted data remains: 25
gal numanot kaip man %m uzrasyt, ar vietoj jo kazka kad grazintu milisec visa tryzenkli sk, o ne tik viena skaitmeni?
Sveiki, iškilo toks klausimas, kaip sukurti klasę turint jos pavadinimą string tipo reikšme.
pvz:
ir paskutinė eilutė žinoma, kad nesuveiks, bet kaip reikia padaryti, kad gauti klasės objektą iš klasės vardo stringo.
Giliau ir ilgiau paieškojęs radau. Ir ne vieną, o kelis būdus. Taigi, jei kam reiks:
a = globals()'class_name'
a = locals()'class_name'
a = getattr(module, class_name_in_string)
ir paskutinis būdas su eval, bet jis gan pavojingas, todėl čia jo nerašysiu
Šiaip tai python kalboje, geriau naudoti ne string tipo reikšmes perduoti objektams, o paprasčiausiai nuorodą į tą objektą:
As cia gal ne labai y tema bet apie string, turiu klausima. Turiu susirases y faila string pavidalu tokius duomenis 2010-01-12 20:20:12.345 , nusiskaitau is failo man reikiama laika, bet jis string pavaidalo ir negaliu daryt jokiu veiksmu(+, -). kaip man pasiverst i kita formata, su kuriuo galeciau atlikt veiksmus? arba kokiu budu yrasinet y faila kad poto nusiskaitant nekiltu problemu ir galeciau dirbt su tais duoemnim? Aciu.
to kar0lis: visu pirma reiktu nepatingeti ir smegenis pasukti, o tada butu m sumastes, kad googlo reik paklausit klausimo: "python string to date".
Na o googlas budamas geras tau pirmasis variantais jau butu ispjoves tai ko tau reikia.
stai vienas is variantu ka radau pirmuosiuose urluose:
Isbandytas jau sitas ne syki, nieko gero, tiksliau jis nesuveikia kai man reik kad grazintu milisec, arba kitaip tariant nerandu tokio directive'o:
time0=f.readline()[55:67]
b=time.strptime(time0,'%H:%M:%S.%m')
print time.strftime('%H:%M:%S.%m',b)
ir ismeta:
ValueError: unconverted data remains: 25
gal numanot kaip man %m uzrasyt, ar vietoj jo kazka kad grazintu milisec visa tryzenkli sk, o ne tik viena skaitmeni?
Kiek žinau python datetime objektas nesaugo milisekundžių, todėl gali padaryti tik taip:
Beje, jei neklystu, šitas veiks tik nuo python 2.6
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=11&t=4772