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

Signaler
-
 python -
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 ?

42 réponses

Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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
40
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

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
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 ?
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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.)
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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()
Est-il possible de raffraichir les secondes par ex 17:00:01, le 01 change toute les secondes?
Messages postés
23
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
26 août 2010

merci est il possible de récuperer aussi le code erreur de fichiers
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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 : https://docs.python.org/release/2.5.2/lib/module-exceptions.html
Mais chaque module (ou programme) peut avoir ses propres exceptions.
Messages postés
23
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
26 août 2010

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.
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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)

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.
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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à:
https://sebsauvage.net/python/snyppets/#sqlite

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é.
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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).

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

je travaille sous VMS
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
Pour tout ce qui est entrées/sorties gérées par le système d'exploitation, voir errno.h

http://www.koders.com/c/fid53B3BE16088320EE31E67B12F901FE3FB9D1F480.aspx?s=cdefs

est ce que ça marche aussi pour VMS ?

et merci
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
Je pense que oui.

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 :)
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
ç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.

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
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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à:
https://sebsauvage.net/python/snyppets/#capture_output

si j'ai bien compris il suffit juste de mettre :
import subprocess
myprocess = subprocess.Popen(nom_du_programme)
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
à peu de choses près, oui.

je crois que subprocess fonctionne sur Windows et unix. mais je ne sais pas si ça marche aussi avec VMS.
????
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
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...)

bonjour,
Si j'ai bien compris c'est bien une commande que tu passes en argument tandis que moi je voulais savoir si l'on pouvait lui passait un fichier qui contient notre programme exemlpe:
myprocess = subprocess.Popen(programme.c)
est ce que cela est permis?
et merci
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
La commande que tu passes en argument doit être un programme exécutable ou un script.
Un fichier .c n'est pas directement exécutable.

ça pourrait être quelque chose du genre:
myprocess = subprocess.Popen("interpréteurcobol","monprogramme.cobol")

bonjour
je souhaiterais poser une question un peu bête. mais comment on peux faire pour récupérer l'exécutable de notre programme en python??
et merci d'avance
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
Python n'est pas un compilateur. Python doit être installé pour que le programme fonctionne.

pour être plus claire j'ai un autre programme enfin un train de commande avec DCL qui doit faire appel à un exécutable et vu que les traitements que je souhaite faire sont dans un programme en python donc je dois ajouté l'exécutable de mon programme python dans le train de commande. est ce que cela est possible ( c-à-d récupérer l'exécutable) sinon y a t-il un autre moyen.
et merci pour vos réponses
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 306
Il lancer lancer python en passant comme paramètre le chemin de ton source .py