আমি একটি সাধারণ সরঞ্জামে কাজ করছি যা পাসওয়ার্ডের সাথে হার্ড কোডিংযুক্ত ফাইলগুলিকে একটি হার্ড-কোডেড স্থানে স্থানান্তর করে। আমি একটি অজগর নবজাতক, কিন্তু ftplib ধন্যবাদ, এটি সহজ ছিল:
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)
সমস্যাটি হ'ল আমি এমন কোনও লাইব্রেরি খুঁজে পাচ্ছি না যা এসএফটিপি সমর্থন করে। নিরাপদে এই জাতীয় কিছু করার স্বাভাবিক উপায় কী?
সম্পাদনা করুন: উত্তরের জন্য ধন্যবাদ, আমি এটি প্যারামিকোর সাথে কাজ করেছিলাম এবং এটি বাক্য গঠন ছিল।
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.'
আবার ধন্যবাদ!