SORU
11 Ocak 2009, Pazar


Python SFTP? (platform bağımsız)

Transferler şifre ile kodlanmış bir konuma da kodlanmış dosyaları basit bir araç üzerinde çalışıyorum. Python bir acemi değilim, ama teşekkür ederim ftplib için kolay oldu:

import ftplib

info= ('someuser', 'password')    #hard-coded

def putfile(file, site, dir, user=(), verbose=True):
    """
    upload a file by ftp to a site/directory
    login hard-coded, binary transfer
    """
    if verbose: print 'Uploading', file
    local = open(file, 'rb')    
    remote = ftplib.FTP(site)   
    remote.login(*user)         
    remote.cwd(dir)
    remote.storbinary('STOR '   file, local, 1024)
    remote.quit()
    local.close()
    if verbose: print 'Upload done.'

if __name__ == '__main__':
    site = 'somewhere.com'            #hard-coded
    dir = './uploads/'                #hard-coded
    import sys, getpass
    putfile(sys.argv[1], site, dir, user=info)

Sorun sFTP destekleyen herhangi bir kütüphane bulamadım. Bu güvenli gibi bir şey yapmak için normal yolu nedir?

Edit: burada, Paramiko ile çalışma fırsatım oldu. bu sözdizimi oldu cevaplar için Teşekkürler.

import paramiko

host = "THEHOST.com"                    #hard-coded
port = 22
transport = paramiko.Transport((host, port))

password = "THEPASSWORD"                #hard-coded
username = "THEUSERNAME"                #hard-coded
transport.connect(username = username, password = password)

sftp = paramiko.SFTPClient.from_transport(transport)

import sys
path = './THETARGETDIRECTORY/'   sys.argv[1]    #hard-coded
localpath = sys.argv[1]
sftp.put(localpath, path)

sftp.close()
transport.close()
print 'Upload done.'

Tekrar teşekkürler!

CEVAP
11 Ocak 2009, Pazar


Paramiko SFTP destekler. Kullandım ve Çarpık kullandım. Her iki yeri var, ama daha kolay Paramiko başlamak için bulabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Friday NightFort

    Friday Night

    15 EYLÜL 2011
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008