Bonjour,
Je travaille avec Python 3.3.2 dans l'environnement Windows et tente de transmettre un fichier texte vers le server ftp d'une imprimante.
Mon fichier texte ("test.txt") ressemble à ceci:
En ligne de commande Windows, j'écris les commandes suivantes:{
command1,1,2,3,4,5,6|
command2,1,2,3,4,5,6|
}
et l'imprimante fait ce qui lui est demandé sans problème.W:\>ftp 192.168.1.29
Connecté à 192.168.1.29
220 XXS version 6.5.2 ready
Utilisateur (192.168.1.29:(none)):
230 User logged in.
ftp>put test.txt
200 PORT command successful
150 Opening ASCII mode data connection for test.txt
226 Transfer complete.
ftp: 250 octets envoyés en 0.00 secondes à 250000.00 Ko/s
En Python, j'ai écrit ceci:
et ça ne fonctionne pas, voici ce que je retrouve comme message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import ftplib host = "192.168.1.29" # adresse du serveur FTP user = "" # identifiant password = "" # mot de passe connect = ftplib.FTP(host, user, password) # on se connecte # ---- juste pour contrôler que nous sommes connectés etat = connect.getwelcome() # on récupère le "message de bienvenue" print( "Réponse printserver : ", etat) # affichage du message fichier = FichierOut file = open(fichier,'r') print (file.read()) #--- juste pour contrôler que le fichier est lu connect.storlines('PUT ' + fichier, file) file.close() connect.quit()
Quelqu'un a-t-il une idée de l'erreur que je commets ?File "E:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
return self.func(*args)
File "C:\Users\jr\Desktop\test.py", line 93, in clique
connect.storlines('PUT ' + fichier, file)
File "E:\Python33\lib\ftplib.py", line 497, in storlines
with self.transfercmd(cmd) as conn:
File "E:\Python33\lib\ftplib.py", line 386, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "E:\Python33\lib\ftplib.py", line 346, in ntransfercmd
host, port = self.makepasv()
File "E:\Python33\lib\ftplib.py", line 324, in makepasv
host, port = parse227(self.sendcmd('PASV'))
File "E:\Python33\lib\ftplib.py", line 259, in sendcmd
return self.getresp()
File "E:\Python33\lib\ftplib.py", line 233, in getresp
raise error_perm(resp)
ftplib.error_perm: 502 Command 'PASV' not implemented.
Cordialement.
PhilPY
Partager