将文件上传到远程服务器的Python脚本

标签 python upload sftp pysftp

我正在做一个项目,该项目要求我们通过 SFTP 将恶意文件上传到远程服务器,但我们在执行此操作时遇到了麻烦。我们尝试遵循此 youtube guide ,但我们遇到了一些问题。

当我们运行脚本时出现“没有这样的文件”错误,我们确定该文件存在并且我们已经为 python 脚本提供了文件的正确名称和位置。

这是我们现在拥有的脚本:

import pysftp as sftp

def sftpTry():
       try:
            s = sftp.Connection(host='babbage.cs.missouri.edu', username ='<username>', password = '<password>')

            remotepath = '~it3001s14grp1/videos/newVideo/new.avi'
            #localpath = '/etc/motion/capture/hello.txt'
            localpath = '/etc/motion/capture/06--2014-05-15---16-16-25.avi'
            s.put(localpath, remotepath)

            s.close()

    except Exception, e:
            print str(e)

sftpTry();

最佳答案

您应该以正斜杠“/”开始您的远程路径。另外,检查您在远程路径中指定的目录。当您登录到服务器时(比如使用 ssh),您应该尝试在目录中执行 pwd。应该完全像那样指定远程路径。

虽然您在远程路径中确实有文件名,但如果您仅指定文件夹名称,则会引发错误。

另一个技巧是使用 getpass 而不是硬编码密码:

passwd = getpass.getpass()
s = sftp.Connection(host='<host>', username = '<username>', password = passwd)

关于将文件上传到远程服务器的Python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684988/

相关文章:

upload - 上传太大的文件时 Laravel token 不匹配

php发送文件到sftp

从端口读取并存储在数据库中的 Python 代码给出错误 : #1062, 主键的​​重复条目 1

python - 在 Google Colab 上将视频上传到 Youtube

python - 官方 Python 教程(第 9.10 章)中的示例错误?

node.js - Nodejs 和 Express 中的 Multer 图像上传

c# - 在SFTP服务器上使用WinSCP通过C#创建目录

Bash 脚本 : Send files to SFTP using Expect

尝试检索图像链接时出现 Python 错误

python - 赋值之前引用的局部变量/Python