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 11069 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 ?

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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 38
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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