Création
d'entreprise
Posez votre question Signaler

[python] récupérer la date [Résolu]

serpent - Dernière réponse le 7 juin 2010 à 16:09
Bonjour,
j'ai un projet à rendre bientôt en python.

Je cherche la fonction la plus simple du module le plus simple pour afficher la date et l'heure la plus simple (en string)

j'aimerai qqch du type : "11/05/04 17:28"

Quelqu'un peut-il m'aider ?
Lire la suite 

[python] récupérer la date »

81 réponses
Réponse
+9
moins plus
import time
print time.strftime('%d/%m/%y %H:%M',time.localtime())  

strfrtime te permet de formatter la date comme bon te semble.

Voir http://www.python.org/doc/2.1.3/lib/module-time.html#l2h-1299
serpent - 17 mai 2005 à 18:13
je te remercie
la fonction est vraiment très simple d'utilisation


je n'ai plus besoin de ce que j'avais écrit avant avec le module datetime mais j'aimerais bien savoir toutefois à quoi servent ces paramètres
Ajouter un commentaire
Réponse
+0
moins plus
merci

mais je ne comprends pas très bien à quoi servent les paramètres que je passe dans ce genre de classes :(

import datetime
q=datetime.datetime(15,1,1,1)
print q.today()

qu'importe les paramètres que je passe, il me retourne toujours la même chose. A quoi cela correspond-il ?
Ajouter un commentaire
Réponse
+0
moins plus
C'est normal:
today() renvoie systématiquement la date du jour.

Il suffit de faire:
print q

pour afficher ta date, c'est tout !
Tu n'as pas besoin d'appeler today()
Ajouter un commentaire
Réponse
+0
moins plus
mais je ne comprends pas très bien à quoi servent les paramètres


Tout ce qu'il y a entre les guillemets (%y %m etc.) permet de choisir ton format de date.

Par exemple:
import time
print time.strftime('Nous sommes en %Y, et il est %H:%M.',time.localtime()) 

affichera:
"Nous sommes en 2005, et il est 18:21."


Les %X seront remplacés par l'informations correspondante (année, mois, jour, etc.)
Ajouter un commentaire
Réponse
+0
moins plus
Est-il possible de raffraichir les secondes par ex 17:00:01, le 01 change toute les secondes?
Ajouter un commentaire
Réponse
+0
moins plus
import time
while True:
    print time.strftime('Nous sommes en %Y, et il est %H:%M.',time.localtime())
    time.sleep(1) 
Ajouter un commentaire
Réponse
+0
moins plus
j'ai le même probleme par contre moi je souhaite passer d'une date ascii à une date binaire quelqu'un pourrait m'aider
sebsauvage- 22 avril 2010 à 10:02
Regarde du côté de strptime() : cette fonction te permet de spécifier un format d'entrée ASCII, et il devrait ensuite sans problème la convertir en objet DateTime.
fleur_du_mal- 22 avril 2010 à 13:06
merci :)
fleur_du_mal- 22 avril 2010 à 16:53
par contre je me permettrais de te déranger peut etre que je trouverais une réponse chez toi. ofait je commence à programmer en python et je souhaite récuperer le code erreur renvoyé par une requete sql avec python .une idée ?
merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
par contre je me permettrais de te déranger peut etre que je trouverais une réponse chez toi. ofait je débute en programmation avec python et je souhaite récuperer le code erreur renvoyé par une requete sql avec python .une idée ?
merci d'avance
sebsauvage- 23 avril 2010 à 10:59
Le retour des codes erreur dépend de la base de données.
Il y a généralement des exceptions à attraper, et ces objets exception doivent avoir des attributs donnant le code d'erreur.
Ajouter un commentaire
Réponse
+0
moins plus
merci est il possible de récuperer aussi le code erreur de fichiers
sebsauvage- 23 avril 2010 à 13:59
Les informations disponibles pour chaque erreur dépendent de l'exception.
Chaque exception peut contenir des informations différentes.

Exemple: ouvrir un fichier qui n'existe pas:
try: 
    open("jenexsitepas.txt","r") 
except IOError, e: 
    print e.args 
    print e.errno


Cela affichera:
(2, 'No such file or directory') 
2


2 étant le code d'erreur.

Le nombre et le types des arguments peut varier d'une excepition à l'autre.
Il y a des exceptions standards : http://docs.python.org/release/2.5.2/lib/module-exceptions.html
Mais chaque module (ou programme) peut avoir ses propres exceptions.
Ajouter un commentaire
Réponse
+0
moins plus
merci pour ta réponse. par ailleurs moi je cherche à récupérer ce code erreur afin de le testé et lui associé un traitement spécial et crere par la suite un fichier pour récuperer toutes les anomalies.
sebsauvage- 23 avril 2010 à 14:17
Certaines exceptions n'ont pas de code d'erreur, tu aura donc du mal à faire une règle générique.
(Par exemple, tu pourra pour IOError, mais par pour ValueError).

Par contre tu peux trapper différents types d'exception et faire des traitements différents.
Exemple:
try: 
    open("tiit.tt","r") 
    # autres opérations...
except IOError, e: 
    print "Traitement specifique a IOError: code=",e.errno 
except ValueError,e: 
    print "Traitement specifique a ValueError" 
except Exception, e: 
    print "Exception generique:",str(e)
Ajouter un commentaire
Réponse
+0
moins plus
salut,
merci beaucoup sebsauvage des informations me sont très utiles cependant je voudrais savoir si tu as une idée sur les fichiers indexés et si c possible de les gérer avec python.
sebsauvage- 26 avril 2010 à 09:45
qu'est-ce que tu appelle fichiers indexé ?

Perso quand j'ai des données indexée à traiter, je prend une base SQLite.
C'est terriblement performant, surtout pour tout ce qui concerne opérations d'index.
(C'est d'ailleurs ce que j'utilise pour la version téléchargeable de la base de connaissance CCM.)

SQLite est très performant.

Quelques exemples de SQLite là:
http://sebsauvage.net/python/snyppets/#sqlite
Ajouter un commentaire
Réponse
+0
moins plus
Un fichier indexé est un fichier qui possède un index en fonction d'une clé. C'est grâce à cette clé qu'il est possible de retrouver de l'information sur le système de fichier indexé.
sebsauvage- 26 avril 2010 à 13:25
Ok alors tu as deux possibilités:
- Les dictionnaire python
- SQLite si tu as besoin de plusieurs indexes.

Exemple de dictionnaire:
>>> mondico={} 
>>> mondico['premier']='john' 
>>> mondico['second']='titi' 
>>> print mondico['premier'] 
john 
>>>


Les "dictionnaires" Python sont en fait des hashtables. La clé (premier,second...) peut être de n'importe quel type de base (entier, chaine...). La clé est hashée et permet de retrouver les données. C'est extrêmement rapide.

Si tu as besoin d'index sur plusieurs colonnes, soit tu fais plusieurs dictionnaire, soit tu utilises SQLite (on peut faire des bases de données "in-memory", en mémoire, sans écritures disque).

Autre avantage de SQLite; il peut gérer des quantité énormes de données (pratique si tu as des données qui ne tiennent pas en mémoire).
Ajouter un commentaire
Réponse
+0
moins plus
merci :)
je voudrais savoir si l'on peut avoir la liste de tous les codes erreurs I/O. enfin je veux dire le numéro d'erreur et la cause de l'erreur.
exemple:
code erreur = 2 => no such file or directory

j'ai cherché sur internet mais je trouve rien j'aimerais bien avoir une liste qui me détaille tous les numéros d'erreur existants afin d'associer à chacun un traitement spécifique.
et merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
je travaille sous VMS
Ajouter un commentaire
Réponse
+0
moins plus
Pour tout ce qui est entrées/sorties gérées par le système d'exploitation, voir errno.h

http://www.koders.com/...
Ajouter un commentaire
Réponse
+0
moins plus
est ce que ça marche aussi pour VMS ?

et merci
sebsauvage- 27 avril 2010 à 20:48
Je pense que oui.
Ajouter un commentaire
Réponse
+0
moins plus
merci beaucoup
cependant j'ai une autre question: est il possible de faire appel à des programmes fait avec d'autres langages dans un programme python.
genre g un programme en cobol et je veux l'utiliser mais je vois pas comment faire. j'ai pensé à exécuter le programme cobol mais c trop compliqué vu le nombre de paramètres qu'il faut gérer.
toute proposition serait la bienvenue :)
sebsauvage- 28 avril 2010 à 17:34
ça dépend des programmes.

On peut utiliser os.system() ou le module subprocess pour lancer d'autres programmes et récupérer leur sortie (je le fais souvent, ça marche assez bien).

On peut aussi faire appel à des DLL ou des fonctions systèmes avec le module CTYPES (par exemple pour faire des appels spécifiques à Windows).

Pour le cobol je ne sais pas trop... probablement en lançant cobol en ligne de commande avec le module subprocess.
Ajouter un commentaire
Réponse
+0
moins plus
bonjour
j'ai pas bien saisi ce que tu m'a expliqué. donc si je veux utilisé par exemple le module subprocess est ce que j'utiliserais le programme directement ou passer par son exécutable .est ce que tu pourrais me donner un exemple si possible.
et merci d'avance
sebsauvage- 29 avril 2010 à 09:36
subprocess permet de lancer un autre programme comme tu le ferais en ligne de commande.
Tu lancerait donc l'interpréteur Cobol en passant en argument le nom du programme Cobol que tu veux lancer.

J'ai mis un exemple avec le module subprocess là:
http://sebsauvage.net/python/snyppets/#capture_output
Ajouter un commentaire
Réponse
+0
moins plus
si j'ai bien compris il suffit juste de mettre :
import subprocess
myprocess = subprocess.Popen(nom_du_programme)
sebsauvage- 29 avril 2010 à 09:57
à peu de choses près, oui.
Ajouter un commentaire
Réponse
+0
moins plus
je crois que subprocess fonctionne sur Windows et unix. mais je ne sais pas si ça marche aussi avec VMS.
????
sebsauvage- 29 avril 2010 à 12:55
En principe ça marche sur presque tous les systèmes. C'est à tester.

Commence par essayer de lancer une commande VMS simple, genre qui renvoie juste une information simple (date, version du système, listage d'un répertoire...)
Ajouter un commentaire
Ce document intitulé « [python] récupérer la date » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
[python] récupérer la date - page 2