Автоматизация работы с файлами и папками в Go

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

goавтоматизацияфайлы

👁 Часто приходится взаимодействовать с файловой системой для создания, перемещения и удаления файлов и папок. В Go для этих целей можно легко автоматизировать задачи с использованием пакета os и path/filepath, что ускоряет процессы, такие как создание структуры каталогов или перемещение данных.

📝 Пример автоматизации создания папок и перемещения файлов:

package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    dirs := []string{"dir1", "dir2", "dir3"}

    // Создаем папки
    for _, dir := range dirs {
        err := os.MkdirAll(dir, 0755)
        if err != nil {
            fmt.Println("Ошибка создания папки:", err)
            return
        }
    }

    // Перемещаем файл
    source := "file.txt"
    dest := filepath.Join("dir1", "file.txt")
    err := os.Rename(source, dest)
    if err != nil {
        fmt.Println("Ошибка перемещения файла:", err)
    } else {
        fmt.Println("Файл перемещен в", dest)
    }
}

📌 Как это работает:

  • Мы создаем несколько папок с помощью os.MkdirAll, которая рекурсивно создает все недостающие директории
  • Для перемещения файла используется os.Rename, который перемещает файл из исходного пути в новый каталог
  • Все операции сопровождаются проверкой ошибок, чтобы гарантировать, что операции выполнены успешно

❗️ Это полезно в тех случаях, когда нужно автоматизировать управление структурой каталогов или перемещать файлы по заданному шаблону, например, для загрузки и обработки файлов в бэкенд-сервисах.

tags: #go #автоматизация #разработка

🧭 @recura_tech 🌐 VK 🌐 MAX

Скриншот в тёмной теме: код на Go с примером создания папок через os.MkdirAll и перемещения файла через os.Rename; заметен логотип RECURA.
Пример кода на Go: создание папок и перемещение файла.

Читайте так же