你如何使用paramiko传输完整的目录?我正在尝试使用:
sftp.put("/Folder1","/Folder2")
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误 -
Error : [Errno 21] Is a directory
Run Code Online (Sandbox Code Playgroud) 嗨我正在使用python并尝试连接到sftp并想从那里检索xml文件并需要放在我的本地系统中,下面是代码
import paramiko
sftpURL = 'sftp.somewebsite.com'
sftpUser = 'user_name'
sftpPass = 'password'
ssh = paramiko.SSHClient()
# automatically add keys without requiring human intervention
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
ssh.connect(sftpURL, username=sftpUser, password=sftpPass)
ftp = ssh.open_sftp()
files = ftp.listdir()
print files
Run Code Online (Sandbox Code Playgroud)
这里连接已成功完成,现在我想查看所有文件夹和所有文件,并需要输入所需的文件夹以从那里检索xml文件.
最后我的目的是在连接到sftp服务器后查看所有文件夹和文件.在上面的代码中我使用了ftp.listdir()通过它获得输出,如下所示
['.bash_logout', '.bash_profile', '.bashrc', '.mozilla', 'testfile_248.xml']
Run Code Online (Sandbox Code Playgroud)
我想知道这些是否是唯一存在的文件?
我上面使用的命令也是查看文件夹的权利吗?
查看所有文件夹和文件的命令是什么
我有一个简单的要求在SFTP服务器上删除文件.我发现pysftp和Paramiko库似乎允许我这样做并使用Paramiko开发了一个简单的应用程序,但我找不到比较两者的正确来源,所以我可以决定哪个我可以/应该使用.每种方法的优缺点是什么?
我有一个脚本,在SFTP服务器上创建和tmp目录,然后/tmp在传输完成后将文件放入,但是我需要将文件从/tmp一个目录移动到一个目录/.使用Paramiko如何将文件从一个远程目录移动到另一个目录?
步骤指南:
本地文件----->远程临时目录---->远程根目录
如果需要,可以使用以
#!/usr/bin/python
# --------------------------------------------------------------------
#import libraries
# --------------------------------------------------------------------
import paramiko as PM
import os
import datetime
# --------------------------------------------------------------------
# Global Variables
# --------------------------------------------------------------------
host = 'host IP address'
port = 22
username = 'Username'
password = '*********'
# Variable Paths
localPath = '/shares/MILKLINK/fromML'
remotePath = '/'
logPath = '/shares/MILKLINK/logs/PPcfg02.log'
SRCfiles = '/shares/MILKLINK/Milklink.cpy'
# --------------------------------------------------------------------
# Create LOG FILE
# --------------------------------------------------------------------
log = open(logPath, 'a')
log.write(datetime.datetime.now().isoformat()+'\n')
# Creating lockfile
if(os.path.isfile('LockSFTP')):
log.write("LOCK FILE …Run Code Online (Sandbox Code Playgroud) 我想使用 Python 2.7 使用 SFTP 递归地将包含文件和子文件夹的整个目录结构从 Linux 服务器复制到本地计算机(Windows 和 Linux)。
我可以在同一台机器上使用 WinSCP ping 服务器并下载文件。
我尝试了以下代码,在 Linux 上运行良好,但在 Windows 上不起作用。
我试过\,/,os.join,全部给了我同样的错误,检查权限也是如此。
import os
import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None # disable host key checking.
sftp=pysftp.Connection('xxxx.xxx.com', username='xxx', password='xxx', cnopts=cnopts)
sftp.get_r('/abc/def/ghi/klm/mno', 'C:\pqr', preserve_mtime=False)
Run Code Online (Sandbox Code Playgroud)
import os
import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None # disable host key checking.
sftp=pysftp.Connection('xxxx.xxx.com', username='xxx', password='xxx', cnopts=cnopts)
sftp.get_r('/abc/def/ghi/klm/mno', 'C:\pqr', preserve_mtime=False)
Run Code Online (Sandbox Code Playgroud)