Transférer un fichier texte vers le server ftp d'une imprimante
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:
Citation:
{
command1,1,2,3,4,5,6|
command2,1,2,3,4,5,6|
}
En ligne de commande Windows, j'écris les commandes suivantes:
Citation:
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
et l'imprimante fait ce qui lui est demandé sans problème.
En Python, j'ai écrit ceci:
Code:
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() |
et ça ne fonctionne pas, voici ce que je retrouve comme message d'erreur:
Citation:
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.
Quelqu'un a-t-il une idée de l'erreur que je commets ?
Cordialement.
PhilPY