Net::SFTP
또는 루비 코드를 사용하여 디렉토리 항목이 파일인지 디렉토리인지 식별하는 방법은 무엇입니까?Net :: SFTP를 사용하여 항목이 파일인지 디렉토리인지 어떻게 식별 할 수 있습니까?
3
A
답변
6
do_stat
메서드는 정보를 얻을 수있는 것처럼 보입니다. Net::SFTP::Attributes
및 perldoc -f stat
에 대한 설명서도 참조하십시오.
use Fcntl(:mode);
my $permissions = $sftp->do_stat($path)->perm();
my $is_directory = S_ISDIR($permissions);
5
는
Manni's recommendation의 사용을 설명하기 위해
0
적어도 두 가지 방법이 SFTP와 루비에 그것을 할 :
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