Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności:
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: Jak wyciągnąć czas systemowy?  (Przeczytany 6051 razy)
« : 20:49 23/11/08 »
gemelo Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 45


Tak jak w temacie jak mogę pozyskać czas systemowy z poziomu skryptu w Pythonie, np. do zmiennej aby go później móc wykorzystać w dalszej części skryptu?

Pozdrawiam.
Zapisane

Debian GNU/Linux 2.6.26-1-amd64
« Odpowiedz #1 : 20:55 23/11/08 »
Katharsis Offline
Administrator
Professional Python User

Zobacz profil WWW
*****

Reputacja: 63
Płeć: Mężczyzna
Wiadomości: 493


Skorzystaj z modułu time:

Kod
import time
print time.localtime()

Na wyjściu dostaniesz krotkę z wartościami daty i czasu. Dalsza prezentacja, forma i sposób zapisu zależy już od Ciebie.

@Edit:
Albo skorzystaj z zapisu:

Kod
time.strftime("%H:%M:%S")
Zapisane

PyStok - Białostocka Grupa Użytkowników Pythona - pystok.org
« Odpowiedz #2 : 00:21 24/11/08 »
gemelo Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 45


Dzięki. Gdzie na przyszłość szukać takich rzeczy? Standardowo dokumentacja? Zwłaszcza gdy nie wiem jak moduł się nazywa... (tutaj okazuje się łatwo akurat).
Zapisane

Debian GNU/Linux 2.6.26-1-amd64
« Odpowiedz #3 : 01:40 24/11/08 »
pigmej Offline
PPCG
Professional Python User

Zobacz profil
*****

Reputacja: 50
Płeć: Mężczyzna
Wiadomości: 343


Google Uśmiech.
Zapisane
« Odpowiedz #4 : 02:10 24/11/08 »
Husio
Gość
Jest moduł datetime:

Cytuj
NAME
    datetime - Fast implementation of the datetime type.
Zapisane
« Odpowiedz #5 : 10:58 24/11/08 »
DimmuR Offline
Moderator Globalny
Professional Python User

Zobacz profil
*****

Reputacja: 88
Płeć: Mężczyzna
Wiadomości: 427


Poza samym google może się również przydać spis:

The Python Standard Library Reference

Który to grupuje tematycznie biblioteki Pythona. Dzięki temu z grubsza wiemy dokumentację którego modułu mamy otworzyć Uśmiech.
Zapisane

Stowarzyszenie Polska Grupa Użytkowników Pythona - plpug.org
« Odpowiedz #6 : 11:29 24/11/08 »
jell Offline
Administrator
Expert Python User

Zobacz profil
*****

Reputacja: 64
Płeć: Mężczyzna
Wiadomości: 569


No, ma jeszcze rewelacyjna wyszukiwarkę...
Zapisane

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep
« Odpowiedz #7 : 20:59 10/12/08 »
gemelo Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 45


Okay... w skrypcie korzystam z zewnętrznej funkcji z niestandardowego modułu i jako parametr funkcji dostaję datę w postaci 1228921383. Jak teraz ją konwertować na formę zapisu 16:12:13, czyli z Pythona:

Kod
time.strftime("%H:%M:%S")




Zapisane

Debian GNU/Linux 2.6.26-1-amd64
« Odpowiedz #8 : 23:33 10/12/08 »
pigmej Offline
PPCG
Professional Python User

Zobacz profil
*****

Reputacja: 50
Płeć: Mężczyzna
Wiadomości: 343



Kod
time.strftime('%H:%M:%S',time.gmtime(float('1228921383')))


Proszę Mrugnięcie.
Zapisane
« Odpowiedz #9 : 08:26 11/12/08 »
jan.koprowski Offline
Advanced Python User

Zobacz profil
**

Reputacja: 12
Wiadomości: 243


Na pytanie gdzie szukać to w nowej Dokumentacji jest indeks:

http://docs.python.org/genindex.html

Otwierasz i lecisz po wszystkich wystąpieniach "time" Język.
Zapisane

« Odpowiedz #10 : 18:33 12/12/08 »
gemelo Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 45



Kod
#lista z datami
dataListA = ["2008-02-14", "2008-02-15", "2008-12-12", "2008-12-02"]
 
a=x=0
for a in dataListA:
if dataListA[x] == strftime('%Y-%m-%d'):
sqlCommand = "SELECT * FROM Tabela"
cHandler.execute(sqlCommand)
results = cHandler.fetchall()
               #dalszy ciąg kodu...

Kod zwraca co prawda wynik zapytania SQL, ale później wyrzuca błąd:

Cytuj
Traceback (most recent call last):
  File "tescik4.py", line 19, in <module>
    if dataListA[ x ] == strftime('%Y-%m-%d'):
IndexError: list index out of range

Wiem, że problem tkwi w elemencie listy "2008-12-02", który znajduje się za elementem już dopasowanym do aktualnej daty, jak uniknąć tego błędu?
Zapisane

Debian GNU/Linux 2.6.26-1-amd64
« Odpowiedz #11 : 22:19 12/12/08 »
gemelo Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 45


Czegoś chyba nie kumam w tych listach, podobnie tutaj:

Kod
zmi = ["jeden","dwa","trzy","cztery","piec","szesc","siedem","osiem","dziewiec","dziesiec"]
 
x=i=0
for i in zmi:
print zmi[x]
x += 3


Dlaczego nie mogę wykonać tego? Tzn. wypisze mi 'jeden', 'cztery', 'siedem', 'dziesiec', a na koniec umieści błąd, czyli:

Cytuj
jeden
cztery
siedem
dziesiec
Traceback (most recent call last):
  File "tetris1.py", line 7, in <module>
    print zmi[ x ]
IndexError: list index out of range
Zapisane

Debian GNU/Linux 2.6.26-1-amd64
« Odpowiedz #12 : 22:48 12/12/08 »
generic Offline
Hello World!

Zobacz profil
*

Reputacja: 2
Wiadomości: 8


Czy błąd czegoś Ci nie mówi? Pętla wykonuje się dla każdego elementu tablicy, a Ty chcesz wyświetlać co 3 element..., myślę że już widzisz gdzie jest problem, a chodzi Ci pewnie o coś takiego:

Kod
zmi =["jeden","dwa","trzy","cztery","piec","szesc","siedem","osiem","dziewiec","dziesiec"]
 
x=0
while len(zmi) >x:
print zmi[x]
x += 3
Zapisane
« Odpowiedz #13 : 23:19 12/12/08 »
pigmej Offline
PPCG
Professional Python User

Zobacz profil
*****

Reputacja: 50
Płeć: Mężczyzna
Wiadomości: 343



Kod
zmi[::3]

I już:

Kod
In [2]: zmi[::3]
Out[2]: ['jeden', 'cztery', 'siedem', 'dziesiec']
Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2018 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot