2017-04-11 7 views
-3

Wie kann ich Dateien remote senden und empfangen und auch Updates über Python? Wir haben eine Reihe von Geräten auf dem Markt und sie sind alle Windows 10 basiert. Wie können wir Dateien an diese Maschinen senden und Dateien von diesen Maschinen empfangen? Wir möchten Python für diese Aufgabe verwenden. Alle Tutorials oder Artikel könnten großartig sein.Senden von Dateien zwischen Computern remote

Antwort

1

Ich schrieb dieses Skript vor einiger Zeit, um Dateien von meinem lokalen Laptop an meinen Remote-SFTP-Server zu senden. Die Maschinen hat jeweils anderen öffentlichen Schlüssel:

import pysftp 
import paramiko 


fpaths = ['list/of', 'file/paths'] 

with pysftp.Connection(server, username='loginID') as sftp: 
    with sftp.cd('target/directory'): 
     for fpath in fpaths: 
      print("Sending:", fpath) 

      if not os.path.isdir(fpath): 
       sftp.put(fpath) 
       print("Permissioning", fpath) 
       sftp.chmod(os.path.basename(fpath), 755) 

      else: 
       dirname = os.path.basename(fpath) 
       if not sftp.isdir(dirname): 
        sftp.mkdir(dirname) 
        print("Permissioning", dirname) 
        sftp.chmod(os.path.basename(dirname), 755) 

       sftp.put_r(fpath, dirname) 

       sftp.walktree(dirname, 
           dcallback=lambda dname:print("Permissioning", dname) or sftp.chmod(dname, 755), 
           fcallback=lambda fname:print("Permissioning", fname) or sftp.chmod(fname, 755), 
           ucallback=lambda x:x) 
1

Try ftplib Paket für Python FTP-Verbindung. Here ist das kleine Tutorial dafür.

import ftplib 

ftp = ftplib.FTP("www.python.org") 
ftp.login("anonymous", "ftplib-example-1") 

data = [] 

ftp.dir(data.append) 

ftp.quit() 

for line in data: 
    print "-", line 

Ausführen von oben Codebeispiel:

$ python ftplib-example-1.py 
- total 34 
- drwxrwxr-x 11 root  4127   512 Sep 14 14:18 . 
- drwxrwxr-x 11 root  4127   512 Sep 14 14:18 .. 
- drwxrwxr-x 2 root  4127   512 Sep 13 15:18 RCS 
- lrwxrwxrwx 1 root  bin   11 Jun 29 14:34 README -> welcome.msg 
- drwxr-xr-x 3 root  wheel  512 May 19 1998 bin 
- drwxr-sr-x 3 root  1400   512 Jun 9 1997 dev 
- drwxrwxr-- 2 root  4127   512 Feb 8 1998 dup 
- drwxr-xr-x 3 root  wheel  512 May 19 1998 etc 
... 

Else, können Sie mit dem SSH gehen Paramiko verwenden. Verwenden Sie, was Ihnen besser passt.

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(
    paramiko.AutoAddPolicy()) 
ssh.connect('127.0.0.1', username='none', 
    password='lol') 

ftplib Referenz-Code: The ftplib module

paramiko Referenz-Code: SSH PROGRAMMING WITH PARAMIKO | COMPLETELY DIFFERENT

Verwandte Themen