热门标签 | 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


推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
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社区 版权所有