如何使用 ruby 代码识别目录项是文件还是目录Net::SFTP
?
问问题
1489 次
3 回答
6
该do_stat
方法似乎可以为您提供该信息。另请参阅Net::SFTP::Attributes
和的文档perldoc -f stat
。
于 2009-11-26T13:42:39.930 回答
5
为了说明使用Manni 的建议:
use Fcntl(:mode);
my $permissions = $sftp->do_stat($path)->perm();
my $is_directory = S_ISDIR($permissions);
于 2009-11-26T13:54:31.997 回答
1
在 SFTP 和 Ruby 中至少有两种方法:
require 'net/sftp'
Net::SFTP.start('HOSTNAME', 'USER', :password => 'PASSWORD') do |sftp|
file = File.expand_path(__FILE__)
dir = File.dirname(file)
sftp.lstat!(file).directory?
sftp.lstat!(dir).file?
sftp.file.open(dir, "r") do |f|
f.stat.file?
f.stat.directory? # true
end
end
于 2012-01-29T11:31:28.100 回答