热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pysftp复制文件,但它是空的-pysftpcopiesfilebutitsempty

Iamhavinganissuecopyingfileswithpysftp.ThiswasoriginallyaWinSCPscriptthatworked.Ic

I am having an issue copying files with pysftp. This was originally a WinSCP script that worked. I can copy the file manually using the credentials supplied in the script below in winscp.com and filezilla. Ive verified that the credentials are correct and both the remote and local paths exist. the file looks like it copies ( I can see file in local directory), but it is empty. Below is the error. The same script works when connecting and downloading files from other hosts.

我在使用pysftp复制文件时遇到问题。这最初是一个有效的WinSCP脚本。我可以使用winscp.com和filezilla中下面脚本中提供的凭据手动复制文件。我已经验证了凭据是正确的,并且存在远程和本地路径。该文件看起来像是复制(我可以看到本地目录中的文件),但它是空的。以下是错误。从其他主机连接和下载文件时,相同的脚本可以正常工作。

Traceback (most recent call last):
  File "C:\Users\myuser\pythonprograms\Download.py", line 28, in 
    main()
  File "C:\Users\myuser\pythonprograms\Download.py", line 25, in main
    sftp_download()
  File "C:\Users\myuser\pythonprograms\Download.py", line 21, in sftp_download
    sftp.get(rpath + item, lpath + item, preserve_mtime=True)
  File "C:\Python27\lib\site-packages\pysftp.py", line 233, in get
    self._sftp.get(remotepath, localpath, callback=callback)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 720, in get
    size = self.getfo(remotepath, fl, callback)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 689, in getfo
    file_size = self.stat(remotepath).st_size
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 413, in stat
    t, msg = self._request(CMD_STAT, path)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 729, in _request
    return self._read_response(num)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 776, in _read_response
    self._convert_status(msg)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 804, in _convert_status
    raise IOError(errno.EACCES, text)
IOError: [Errno 13] Permission denied

[Finished in 2.3s with exit code 1]

this is my code:

这是我的代码:

import pysftp
from datetime import date
from datetime import timedelta

lpath = 'C:/local/path/in/'
rpath = '/remote/path/out/'
yymd = (date.today() - timedelta(days=1)).strftime('%Y%m%d')

with pysftp.Connection('host', username='u', password='p') as sftp:
    with sftp.cd():
        sftp.chdir(rpath)
        for item in sftp.listdir():
            if yymd + '.txt' in item:
                sftp.get(rpath + item, lpath + item, preserve_mtime=True)

1 个解决方案

#1


Why don't you try getfo(remotepath, flo, callback=None) as such:

为什么不尝试getfo(remotepath,flo,callback = None):

sftp.getfo (rpath + item, open(lpath + item, 'wb'))

See this


推荐阅读
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 利用 Python Socket 实现 ICMP 协议下的网络通信
    在计算机网络课程的2.1实验中,学生需要通过Python Socket编程实现一种基于ICMP协议的网络通信功能。与操作系统自带的Ping命令类似,该实验要求学生开发一个简化的、非标准的ICMP通信程序,以加深对ICMP协议及其在网络通信中的应用的理解。通过这一实验,学生将掌握如何使用Python Socket库来构建和解析ICMP数据包,并实现基本的网络探测功能。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
author-avatar
妃你莫属L_957
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有