Salut,
La réponse est "non", car passiveserver est True par défaut et il n'y a aucun paramètre dans le constructeur pour changer cela via l'instanciation de ftplib.FTP(...).
Maintenant, plutôt que de faire:
1 2 3 4
| self.ftp=ftplib.FTP()
self.ftp.set_pasv(False)
self.ftp.connect('ip_serv','2121')
self.ftp.login('loggin@ip','password') |
On peut faire:
1 2
| ftplib.FTP.passiveserver = 0
self.ftp=ftplib.FTP('Ip_serv','loggin@ip','password') |
Ou plus propre, créer son objet MyFtp qui fera cela de façon transparente:
1 2 3 4 5 6
| class MyFtp(FTP):
def __init__(self, *args, **kwds):
passiveserver = kwds.pop('passiveserver', 1)
if not passiveserver:
self.passiveserver = passiveserver
FTP.__init__(self, *args, **kwds) |
Dans ce cas, on appelle le constructeur:
self.ftp=ftplib.FTP('Ip_serv','loggin@ip','password', passiveserver=0)
- W
Partager