Sad*_*dem 5 python permissions ioerror pysftp
我正在尝试从 SFTP 服务器复制文件。我可以使用 python pysftp 进行连接。我可以跑:
data = srv.listdir()
for i in data:
print I
Run Code Online (Sandbox Code Playgroud)
我得到了目录列表。但是当我尝试
sftp.put (localpath,"file_name.txt")
Run Code Online (Sandbox Code Playgroud)
我得到
“IOError:[Errno 13] 权限被拒绝:'C:\.....”
我对该文件夹有权限,因为我可以运行 MKDIR 并在该文件路径中创建一个目录。我已经尝试了许多不同的方法,但到目前为止没有运气,任何帮助都非常感谢。
import pysftp
import os
def sftpExample():
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
with pysftp.Connection('HOST', username='username', password='Password', cnopts=cnopts) as sftp :
print 'connected '
localpath="C:\\new project\\new"
remotepath="/folder1"
sftp.put(localpath,"infso.txt")
sftp.put(localpath,remotepath)
sftp.getfo (remotepath, localpath )
srv.get_r(localpath, remotepath)
srv.close()
sftpExample()
Run Code Online (Sandbox Code Playgroud)
我收到此错误代码:
Traceback (most recent call last):
File "db_backup.py", line 42, in <module>
sftpExample()
File "db_backup.py", line 17, in sftpExample
sftp.put(localpath,"GT-Dallas SFTP infso.txt")
File "c:\Python27\lib\site-packages\pysftp\__init_.py", line 364, in put
confirm=confirm)
File "c:\Python27\lib\site-packages\paramiko\sftp_client.py", line 720, in put
with open(localpath, 'rb') as fl:
IOError: [Errno 13] Permission denied: "C:\\new project\\new"
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经尝试了所有不同的方法来复制文件,但是到目前为止我还没有运气。
有几件事可能会导致您的问题,但对我来说最突出的一个来自您的错误消息:
IOError: [Errno 13] Permission denied: "C:\\new project\\new"
Run Code Online (Sandbox Code Playgroud)
您可能需要转义空格 ( "\ ") 或将其放入原始字符串中r"C:\My Path With Spaces"
但无论如何,我会避免在文件名中使用空格,并且您应该将项目文件夹重命名为new_project或 之类的名称newproject。
另一件可以让您的生活更轻松的事情是,如果您将目录压缩为单个存档文件(.tgz或.zip其他文件)并传输该文件。
| 归档时间: |
|
| 查看次数: |
6854 次 |
| 最近记录: |