溫馨提示×

CentOS readdir在Ruby中的使用

小樊
36
2025-05-21 04:30:00
欄目: 編程語言

在Ruby中,你可以使用Dir.globDir[]方法來模擬C語言中的readdir函數,以讀取目錄的內容。這兩個方法都接受一個目錄路徑作為參數,并返回該目錄下所有文件和子目錄的數組。

下面是一個簡單的例子,展示了如何在Ruby中使用Dir.glob來讀取目錄內容:

# 指定要讀取的目錄路徑
dir_path = '/path/to/directory'

# 使用 Dir.glob 讀取目錄內容
entries = Dir.glob(File.join(dir_path, '*'))

# 輸出目錄內容
entries.each do |entry|
  puts entry
end

或者,你也可以使用Dir[]方法,它的語法更簡潔:

# 指定要讀取的目錄路徑
dir_path = '/path/to/directory'

# 使用 Dir[] 讀取目錄內容
entries = Dir[dir_path + '/*']

# 輸出目錄內容
entries.each do |entry|
  puts entry
end

這兩種方法都會返回一個包含目錄中所有文件和子目錄名稱的數組。如果你想要獲取更多關于每個條目的信息,比如文件類型、大小等,你可以使用File類的方法,例如File.stat。

下面是一個更復雜的例子,它不僅列出了目錄中的所有條目,還顯示了每個條目的詳細信息:

# 指定要讀取的目錄路徑
dir_path = '/path/to/directory'

# 使用 Dir.glob 讀取目錄內容
entries = Dir.glob(File.join(dir_path, '*'))

# 遍歷目錄內容并輸出詳細信息
entries.each do |entry|
  stat_info = File.stat(entry)
  puts "Name: #{entry}"
  puts "Size: #{stat_info.size} bytes"
  puts "Last modified: #{stat_info.mtime}"
  puts "Is directory: #{stat_info.directory?}"
  puts "-----------------------------"
end

請注意,上述代碼示例中的路徑/path/to/directory需要替換為你想要讀取的實際目錄路徑。此外,這些方法默認會包括.(當前目錄)和..(父目錄)在內,如果你不希望包含這些特殊條目,可以在返回的數組中過濾掉它們。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女