Problème input type="file" [python][html]

Résolu/Fermé
ilyess_kira
Messages postés
45
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 décembre 2012
- 16 juil. 2012 à 15:58
fiddy
Messages postés
11067
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
- 17 juil. 2012 à 23:15
Bonjour,


j'aurai besoin de votre aimable aide pour résoudre un problème que je n'arrive pas à régler par mes propres moyens. Je réclame donc votre aide


Le code suivant me permet de transmettre un fichier vers ma page decodeur.py :

<form method="post" action="cgi-bin/decodeur.py" >

			<p> Add a file </p>
	
			<input type="file" name="file" />
 
			<input type="submit" value="Send" />


après dans mon fichier decodeur.py je ne sais pas comment faire pour lire ce fichier qui m'a été transmis
d'habitude je fais :
 file = open ('monfichier.txt','w')


Quelqu'un aurait-il une idée s'il vous plait ?

2 réponses

fiddy
Messages postés
11067
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 804
16 juil. 2012 à 21:03
Pour récupérer le fichier uploadé, en python :
import cgi
form=cgi.FieldStorage()
file = form['myfile'].value
0
ilyess_kira
Messages postés
45
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 décembre 2012

16 juil. 2012 à 22:05
Merci mais j'ai déjà essayé mais ça marche pas :/
0
fiddy
Messages postés
11067
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 804
17 juil. 2012 à 00:13
Ca nous aiderait plus si tu disais précisément ce qui ne marche pas...
0
ekdm
Messages postés
195
Date d'inscription
dimanche 13 mai 2012
Statut
Contributeur
Dernière intervention
28 août 2012
37
Modifié par ekdm le 17/07/2012 à 02:34
Salut,

Est-ce que tu lances ton script à partir du terminal ou la fenêtre MS-DOS (si tu es sous w$) ?, si oui quelles erreurs récupères-tu dans le terminal ou la fenêtre MS-DOS ? (les traceback).

As-tu laissé des print qque chose un peu partout dans ton code pour le débogage ?

> après dans mon fichier decodeur.py je ne sais pas comment faire pour lire ce
> fichier qui m'a été transmis
> d'habitude je fais :

> file = open ('monfichier.txt','w')

Là tu ecris (write), tu ne le lis pas ... si tu veux lire ...

file = open ('monfichier.txt', 'rb') 
liste = file.readlines() 
for lignes in liste: print lignes


a+


0
ilyess_kira
Messages postés
45
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 décembre 2012

17 juil. 2012 à 09:41
Merci pour vos réponses.
Peut être je me suis mal exprimé ... Le fichier que je récupéré c'est l'utilisateur qui me l'envoie et moi je dois appliqué des regex dessus ...le problème c'est que je ne connais ni le nom du fichier ni son extension ... du coup je peux pas mettre open ('fichier.txt....')
0
ilyess_kira
Messages postés
45
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 décembre 2012

17 juil. 2012 à 10:15
je ne sais pas si c'est la meilleur façon de faire mais la je suis entrain de cherche cmt faire pour copier le contenu du fichier transmis dans un autre que je peux appeler monfichier.txt par exemple ...
j'attend vos propositions
MERCI
0
fiddy
Messages postés
11067
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 804
17 juil. 2012 à 11:11
Non mais ce n'est pas avec open pour récupérer le fichier envoyé via html.
Il faut utiliser ce que je t'ai donné. Par contre à toi de dire ce qui marche pas...
0
ilyess_kira
Messages postés
45
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 décembre 2012

17 juil. 2012 à 11:25
moi aussi j'avais essayé comme tu m'avais dis avant
if form.has_key("file"):
txt = form["file"].value
après j'ouvre un fichier et je met la valeur txt dedans 
f = open('file.txt','w')
f.write(txt )
f.close

Et quand je vais dans le fichier file.txt j'ai que le nom du fichier uploader :s et donc pas de message d'erreur pour débugger ...
0
fiddy
Messages postés
11067
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 804
17 juil. 2012 à 11:32
Alors dis-nous ce qui te fait dire que ça marche pas ?
Je comprends plus trop ton problème en fait. Tu récupères un fichier et au lieu de le lire tu écris dedans.
0