Um Dateien von mir lokal auf meinen Server zu übertragen, verwende ich paramiko. Leider gelingt es mir nicht, ganze Ornder mit deren Inhalt zu übertragen. Einzelne Dateien funktionieren schon mal.
Was muss ich ergänzen, damit ich auch Ordner kopieren kann?
Anbei das Skript:
Code: Alles auswählen
import paramiko
import Crypto
# Open a transport
host = "xxxxx"
port = 22
transport = paramiko.Transport((host, port))
# Auth
password = "xxxxx"
username = "xxxxxx"
transport.connect(username = username, password = password)
# Go!
sftp = paramiko.SFTPClient.from_transport(transport)
# Download
#filepath = '/var/www/xxx/test.txt'
#localpath = 'C:\\Users\\xxxx\\Desktop\\test.txt'
#sftp.get(filepath, localpath)
# Upload 1
filepath = '/var/www/xxx/htdocs/test' #test ist in diesem Fall ein Ordner mit mehreren Dateien
localpath = 'C:\\Users\\xxxx\\Desktop\\test'
sftp.put(localfile, remfile)
# Close
sftp.close()
transport.close()
EDIT:
hab mal den ganzen Abend im www nach einer Lösung gesucht. Kann es sein, dass mittels Paramiko nur einzelne Files kopiert werden können?
siehe Doku:
Code: Alles auswählen
put(self, localpath, remotepath, callback=None, confirm=True)
Copy a local file (localpath) to the SFTP server as remotepath.