[python] récupérer la date

Résolu/Fermé
serpent - 17 mai 2005 à 17:32
 python - 17 mars 2018 à 16:22
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

fleur_du_mal
4 mai 2010 à 09:48
donc si j'ai bien compris y a pas quelque chose du genre monprogramme.exe le fichier mon programme.py est interpreté sans retourner un fichier .exe
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
4 mai 2010 à 09:59
C'est ça.

Sous Windows il y a plus ou moins moyen de créer un .exe, mais ça reste de la bidouille (ça consiste à mettre l'interpréteur python et le .py dans un .exe auto-extractible).
0
fleur_du_mal
4 mai 2010 à 10:26
oula ça m'a l'air un peu compliqué de plus que moi je travaille sous VMS donc ça ne m'aideras pas beaucoup. en tout cas merci pour tes réponses rapides et précises :) .
0
fleur_du_mal
10 mai 2010 à 13:38
bonjour
j'ai un fichier en entrée et je souhaite affecter les données qui y sont dans les éléments d'une structure. j'ai pensé à lire mon fichier ligne par ligne et utilisé un parser mais ça ne marche pas . y a t il une autre façon de faire
merci
voila ce que j'avais fait:
while 1 :
r = os.read(fi,347)
if r == '' :
break
c = Rec.parse(r)
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
10 mai 2010 à 13:39
Quelle est la structure de ton fichier ?
CSV ? colonnes fixes ? autre ?
Ma réponse dépendra du format du fichier
(par exemple pour le CSV il y a un module spécialisé.)
0
fleur_du_mal
12 mai 2010 à 10:33
finalement j'ai utilisé un readline et a priori ça marche.
merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
12 mai 2010 à 13:01
Une petite astuce aussi pour lire des fichiers: créer des itérateurs.
Ça permet d'avoir un code plus clair.

https://sebsauvage.net/python/snyppets/#creating_iterators
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fleur_du_mal
21 mai 2010 à 09:18
bonjour,
j'aimerais savoir comment on peut utiliser des alias avec python et quel module inclure.
merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
21 mai 2010 à 10:13
Des alias de quoi ? De fichiers ?
0
fleur_du_mal
21 mai 2010 à 10:34
non je souhaiterais déclarer des alias de bases de données pour pouvoir utiliser plusieurs base de données dans le même programme
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
21 mai 2010 à 11:27
Il suffit d'ouvrir plusieurs connexions aux bases.

Ensuite la déclaration des alias au niveau de l'OS, ça dépend de ton OS.
0
fleur_du_mal
21 mai 2010 à 11:41
je travaille sous VMS et je ne vois pas trop comment déclarer mes alias avec python et pour ce qui est des connexions aux bases est ce que à ce moment là je devrais utilisé que les alias.
Exemple:
rdb.attachDB('monalias')
mais reste aussi à savoir comment le déclarer l'alias
merci,
0
fleur_du_mal
21 mai 2010 à 12:33
j'ai essayé de le faire avec une requête SQL:

sql = rdb.Statement ("declare alias filename 'base_de_donne' ")
sql.execute()

mais ça me met %SQL-F-SYNTAX_ERR, Syntax error dans ma requête
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
21 mai 2010 à 12:39
declare alias filename... c'est sûrement un truc spécific à ta base de données. Désolé je ne sais pas.
0
fleur_du_mal
26 mai 2010 à 10:10
bonjour,
j'ai une question à propos des "report file". je voulais savoir s'il existe un module en python équivalent au report writer Cobol qui nous permet de générer ce genre de fichiers.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
26 mai 2010 à 10:11
Euh... ça fait trop longtemps que ne j'ai plus fait de Cobol.
ça ressemble à quoi ces report files ?
0
fleur_du_mal
26 mai 2010 à 10:45
les "report file" c'est comme des fichiers rapport ou l'on écrit des informations relatives à notre traitement ceci est un exemple en Cobol:
01 DetailLine TYPE IS DETAIL.
02 LINE IS PLUS 1.
03 COLUMN 1 PIC X(9)
SOURCE CityName(CityCode) GROUP INDICATE.
03 COLUMN 15 PIC 9
SOURCE SalesPersonNum GROUP INDICATE.
03 COLUMN 25 PIC $$,$$$.99 SOURCE ValueOfSale.

on peut dire que ces des fichiers générés par étage.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
26 mai 2010 à 13:08
Je vois: en gros un fichier texte à colonnes fixes, avec des séparateurs par section.

ça peut se faire avec des chaînes formatées.

Exemple:
data = ('john','doe','France')
ligne = "%10s  %10s  %12s" % data
print ligne


%10s veut dire: formatter la chaîne sur 10 caractères.

On peut aussi utiliser des dictionnaires (c'est plus facile pour interchanger des éléments dans la ligne en sortie):
data = { 'prenom':'john', 'nom':'doe','pays':'France'}
ligne = "%(prenom)10s  %(nom)10s  %(pays)12s" % data
print ligne
0
fleur_du_mal
27 mai 2010 à 16:40
on peut les écrire dans un fichier ???
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
Modifié par sebsauvage le 27/05/2010 à 21:21
Sans problème ! C'est une simple chaîne de caractères.
0
fleur_du_mal
28 mai 2010 à 09:15
vous pouvez me donner un exemple. merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
28 mai 2010 à 09:38
Voilà un exemple plus complet:
data = [
          { 'prenom':'john', 'nom':'doe','pays':'Grande-bretagne'},
          { 'prenom':'Jean', 'nom':'Dupont','pays':'France'},
          { 'prenom':'Johnny', 'nom':'Mnemonic','pays':'Etats-Unis'},
       ]

f = open("fichier.txt","w")

for enregistrement in data:
    ligne = "%(prenom)-10s  %(nom)-10s  %(pays)-16s" % enregistrement     
    f.write(ligne+"\n")

f.close()


Et voici le fichier produit:

john        doe         Grande-bretagne 
Jean        Dupont      France          
Johnny      Mnemonic    Etats-Unis      



Si tu veux utiliser de simples listes (ou tuples) au lieu de dictionnaire, ça serait:
data = [
          ('john','doe','Grande-bretagne'),
          ('Jean','Dupont','France'),
          ('Johnny','Mnemonic','Etats-Unis')
       ]

f = open("fichier2.txt","w")

for enregistrement in data:
    ligne = "%-10s  %-10s  %-16s" % enregistrement     
    f.write(ligne+"\n")

f.close()
0
fleur_du_mal
28 mai 2010 à 09:50
merci beaucoup
0
fleur_du_mal
28 mai 2010 à 10:05
par ailleurs j'ai une autre question concernant le fait de travailler avec des colonnes variables est ce que c'est possible de faire pareil
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
28 mai 2010 à 11:27
oui.
Tu veux dire des fichiers à séparateurs, genre CSV ?
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
28 mai 2010 à 11:54
pas vraiement des fichiers CSV c'est juste que j'ai des données à mettre dans mon fichier au fur et à mesure donc làa ce j'ai fait c'est renseigner les lignes une par une c'est un peu long mais jusqu'à la ça fait l'affaire :).
0
j'ai un problème avec mon programme au niveau des conditions:
voici un bout du pg:
var3 =''
if ( var1 >= 4 and var2 == 1):
if var3 == '':
var4 = 'machin'
var5 = 1
fonction()

ce qui serait normale c'est que mon programme n'entre pas dans cette boucle car la 1ère condition n'est pas satisfaite cependant mon programme entre dans cette boucle et je ne vois pas pourquoi??
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
3 juin 2010 à 10:51
Utilise la balise code CCM pour mettre ton source, sinon ça ne respecte par les espaces et on ne comprend rien au source.
0
j'arrive pas à utiliser la balise
le code est composé de deux if

var3 =''
#bloc1
if ( var1 >= 4 and var2 == 1):
#bloc 2
if var3 == '':
#bloc3
var4 = 'machin'
var5 = 1
fonction()
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
3 juin 2010 à 12:50
0
fleur_du_mal
3 juin 2010 à 16:59
j'obtiens cet erreur quelqu'un saurait la cause et merci :

rdb._rdb_exceptions.Error: (-1, '%RDB-F-SYS_REQUEST, error from system services request\r\n-RDMS-F-DBNOTOPEN,

database is not open for access', 'RR000')
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
3 juin 2010 à 17:01
On dirait que la connexion à ta base de données n'est pas ouverte.
0
fleur_du_mal
4 juin 2010 à 10:47
en effet, je voudrais savoir s'il est possible en PYTHON de positionner un indicateur ou autre pour récupérer ces erreurs au niveau DCL (VMS).
Merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
4 juin 2010 à 10:50
L'objet de type rdb._rdb_exceptions.Error doit avoir des attributs (typiquement: code et message).
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
4 juin 2010 à 11:27
normalement en cas d'erreur le module rdb lève une exception qui contient le message (entre autres choses). donc je cherche à savoir si on peut récupérer ses erreurs au niveau DCL (VMS) de telle façon à ce que quand on aurait une erreur notre traitement peut être arrêté et on disposeras d'une sorte de journal qui contient les erreurs.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
4 juin 2010 à 13:55
Ah là désolé je ne connais pas du tout VMS.
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
4 juin 2010 à 13:59
en tout cas merci pour toutes ses informations.
0
fleur_du_mal
7 juin 2010 à 10:01
bonjour,
je voudrais savoir si on peut faire appel à des programmes en python dans un autre programme python. par exemple j'ai mes deux programmes programme1.py et programme2.py et je souhaiterais que programme1.py fait appel à programme2.py.
merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
7 juin 2010 à 10:54
oui c'est possible.

Exemple: On a créer un programme a.py qui appelle une fonction contenue dans b.py

b.py:
#!/usr/bin/python
def essai():
    return "coucou"


a.py:
#!/usr/bin/python
import b
print b.essai()


Et on appelle a.py:
#python a.py
coucou


Tu notera qu'un fichier b.pyc est apparu: C'est la version pseudo-compilée de b.
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
7 juin 2010 à 15:21
j'ai essayé avec ça mais ça me renvoie:
ImportError: No module named b
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
7 juin 2010 à 16:09
Ton fichier b.py est-il dans le même répertoire que a.py ?
Quand tu lance a.py, est-ce que le répertoire courant est bien celui où a.py et b.py sont situés ?
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
20 févr. 2008 à 19:12
import time
while True:
    print time.strftime('Nous sommes en %Y, et il est %H:%M.',time.localtime())
    time.sleep(1) 
-1