当我们使用方法sftp.dir.entries
时,我们如何获取文件的完整路径?
我想要一个目录的文件内容(递归)。我使用sftp.dir.entries
方法列出了存在的文件。我该如何获取内容?
答案 0 :(得分:1)
也许您正在寻找glob method:
用作:: Dir.glob,匹配(可能是递归地)
path
下pattern
下的所有目录条目。如果给出了一个块,匹配将在块被发现时产生;否则,当方法完成时,它们将以数组形式返回。因为在SFTP连接上工作总是比在本地工作更慢,所以不要指望这种方法的执行速度与:: Dir.glob相同;它对于目录相对较少的浅层目录层次结构最有效,但它应该能够处理每个目录中适度数量的文件。
因此,例如(也取自文档):
sftp.dir.glob("/remote/path", "**/*.rb")
应该返回远程计算机上任何目录级别的所有* .rb文件。要获取所有文件,请改用"**/*"
。另请参阅Dir class' glob method。