为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python Paramiko 通过 ssh/sftp 将文件复制到具有不同文件名的服务器

使用 Python Paramiko 通过 ssh/sftp 将文件复制到具有不同文件名的服务器

隔江千里 2023-05-23 10:52:51
我有c:\file_a.txt我想复制到的/home/the_user/file_b.txt。如果远程文件已经存在,则替换它,如果不存在,则创建它。这是我的代码:import jsonimport paramikofrom dotenv import load_dotenvfrom os import getenvfrom os.path import join, dirname, expanduserif __name__ == "__main__":    load_dotenv(join(dirname(__file__), ".env"))    ssh = paramiko.SSHClient()    ssh.load_host_keys(expanduser(join("~", ".ssh", "known_hosts")))    ssh.connect(getenv("SSH_SERVER"), username=getenv("SSH_USER"), \       password=getenv("SSH_PWD"), key_filename=getenv("SSH_KEY"))    sftp = ssh.open_sftp()    sftp.put("c:\file_a.txt", "/home/the_user/")    # my understanding is putting a file to a folder sets the working directory to that folder    sftp.rename("file_a.txt", "file_b.txt")    sftp.remove("file_a.txt")    sftp.close()    ssh.close()Failure但是我在重命名时遇到错误。感觉好像我遗漏了一些明显的东西,不胜感激。如何使用paramiko中的库通过 ssh/sftp/scp 将本地文件复制到具有不同文件名的远程文件Python?
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

所以将文件直接上传到新名称:

sftp.put("c:\file_a.txt", "/home/the_user/file_b.txt")


查看完整回答
反对 回复 2023-05-23
  • 1 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信