Shi*_*dla 4 python sftp operating-system paramiko
我已经通过一些细节连接到 sftp 以从 python 中获取一些带有 paramiko 的文件,代码如下
import paramiko
import os
import ftplib
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
ssh.connect('sftp.example.com', username='user', password='pass')
ftp = ssh.open_sftp()
files = ftp.listdir()
print files,"----< Total files"
print ftp.cwd(),"---< Current working diectory"
for feedFile in files:
if feedFile == 'LifeBridge':
ftp.chdir(feedFile)
Run Code Online (Sandbox Code Playgroud)
结果
['Emerson', 'Lehighvalley', 'LifeBridge', 'stmaryct'] ----< Total files
File "test_sftp.py", line 11, in <module>
print ftp.cwd() ---< Current working diectory
AttributeError: 'SFTPClient' object has no attribute 'cwd'
Run Code Online (Sandbox Code Playgroud)
这里我正在做的是
试图找到 sftp 的当前工作目录
上面有一个文件列表,作为打印文件的结果,我正在尝试检查它们是文件夹还是文件,如果它们是我想进入 LifeBridge文件夹的文件夹
最后谁能让我知道以下内容
您正在寻找该.getcwd()方法:
返回此 SFTP 会话的“当前工作目录”,由 paramiko 模拟。如果没有使用 设置目录
chdir,则此方法将返回None。
因此,在会话开始时,如果您需要当前工作目录,请先尝试 a .chdir('.')(change to current directory)。
该.listdir()方法仅返回目录中项目的名称。如果您需要有关这些文件的更多信息,则需要改用该.listdir_attr()方法,它返回一个SFTPAttributes实例列表。
一个SFTPAttributes实例通过.st_mode属性告诉您文件具有什么模式。使用该stat.S_ISDIR(mode)函数测试文件是否为目录。