我正在研究一种简单的工具,它将文件传输到硬编码的位置,密码也是硬编码的.我是一个python新手,但多亏了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)
Run Code Online (Sandbox Code Playgroud)
问题是我找不到任何支持sFTP的库.安全地做这样的事情的正常方法是什么?
编辑:感谢这里的答案,我已经让它与Paramiko合作,这就是语法.
import paramiko
host = "THEHOST.com" …Run Code Online (Sandbox Code Playgroud)