我有c:\file_a.txt
想要复制到/home/the_user/file_b.txt
。如果远程文件已经存在,请替换它,否则请创建它。
这是我的代码:
import json
import paramiko
from dotenv import load_dotenv
from os import getenv
from os.path import join,dirname,expanduser
if __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
中的Python
库通过ssh / sftp / scp将本地文件复制到具有不同文件名的远程文件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。