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

Résolu
ilyess_kira Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention  
 
Merci mais j'ai déjà essayé mais ça marche pas :/
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ca nous aiderait plus si tu disais précisément ce qui ne marche pas...
0
ekdm Messages postés 195 Date d'inscription   Statut Contributeur Dernière intervention   38
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 846
 
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