Je voudrais faire un script pour télécharger un fichier sur FTP.
Comment le système de connexion fonctionnerait-il ? Je cherche quelque chose comme ceci :
ftp.login=(mylogin)
ftp.pass=(mypass)
Et tout autre identifiant de connexion.
Je voudrais faire un script pour télécharger un fichier sur FTP.
Comment le système de connexion fonctionnerait-il ? Je cherche quelque chose comme ceci :
ftp.login=(mylogin)
ftp.pass=(mypass)
Et tout autre identifiant de connexion.
Je viens de répondre à une question similaire ici IMHO, si votre serveur FTP est capable de communiquer avec Fabric, utilisez Fabric. C'est bien mieux que de faire du raw ftp
.
J'ai un compte FTP de dotgeek.com
Je ne suis donc pas sûr que cela fonctionne pour d'autres comptes FTP.
#!/usr/bin/python
from fabric.api import run, env, sudo, put
env.user = 'username'
env.hosts = ['ftp_host_name',] # such as ftp.google.com
def copy():
# assuming i have wong_8066.zip in the same directory as this script
put('wong_8066.zip', '/www/public/wong_8066.zip')
enregistrer le fichier sous fabfile.py
et exécuter fab copy
localement.
yeukhon@yeukhon-P5E-VM-DO:~$ fab copy2
[1.ai] Executing task 'copy2'
[1.ai] Login password:
[1.ai] put: wong_8066.zip -> /www/public/wong_8066.zip
Done.
Disconnecting from 1.ai... done.
Encore une fois, si vous ne voulez pas entrer le mot de passe tout le temps, ajoutez simplement
env.password = 'my_password'
Vous pouvez utiliser la fonction ci-dessous. Je ne l'ai pas encore testée, mais elle devrait fonctionner correctement. Rappelez-vous que la destination est un chemin de répertoire alors que la source est un chemin de fichier complet.
import ftplib
import os
def uploadFileFTP(sourceFilePath, destinationDirectory, server, username, password):
myFTP = ftplib.FTP(server, username, password)
if destinationDirectory in [name for name, data in list(remote.mlsd())]:
print "Destination Directory does not exist. Creating it first"
myFTP.mkd(destinationDirectory)
# Changing Working Directory
myFTP.cwd(destinationDirectory)
if os.path.isfile(sourceFilePath):
fh = open(sourceFilePath, 'rb')
myFTP.storbinary('STOR %s' % f, fh)
fh.close()
else:
print "Source File does not exist"
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.