Как получить список файлов в папке на golang?

Пользователь

от hoyt.jerde , в категории: Golang , 3 года назад

Как получить список файлов в папке на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от otha_marks , 3 года назад

@hoyt.jerde Вы можете использовать пакет io/ioutil и метод ReadDir, небольшой пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package main

import (
   "fmt"
   "io/ioutil"
   "log"
)

func main() {
   files, err := ioutil.ReadDir("./")
   if err != nil {
      log.Fatal(err)
   }

   for _, f := range files {
      fmt.Println(f.Name()) // имя файла
   }
}

Пользователь

от ludie , 2 года назад

@hoyt.jerde Вы можете использовать функцию ReadDir из пакета os:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

import (
    "fmt"
    "os"
)

func main() {
    dir, err := os.Open("/path/to/dir")
    if err != nil {
        // обработка ошибки
    }
    defer dir.Close()

    fileInfos, err := dir.Readdir(-1)
    if err != nil {
        // обработка ошибки
    }

    for _, fi := range fileInfos {
        fmt.Println(fi.Name())
    }
}


Этот код откроет папку /path/to/dir и прочитает список файлов в ней. Каждый файл будет представлен в виде экземпляра типа os.FileInfo, который содержит информацию о файле, такую как его имя, размер, атрибуты и т. д.


Параметр -1 в функции Readdir указывает, что нужно прочитать все файлы в папке. Вы также можете указать целое число, чтобы ограничить количество возвращаемых файлов.