• Go 递归删除空目录


    这个可以通过shell脚本来达到目的。

    find -type d -empty|xrags rmdir
    

    写这个是因为有个 windows 的服务器,又不熟悉批处理和powershell脚本,就写了这么个玩意,放在这里做个记录。

    package main
    
    import (
    	"fmt"
    	"io/ioutil"
    	"os"
    	"path"
    )
    
    func findEmptyFolder(dirname string) (emptys []string, err error) {
    	// Golang学习 - io/ioutil 包
    	// https://www.cnblogs.com/golove/p/3278444.html
    
    	files, err := ioutil.ReadDir(dirname)
    	if err != nil {
    		return nil, err
    	}
    	// 判断底下是否有文件
    	if len(files) == 0 {
    		return []string{dirname}, nil
    	}
    
    	for _, file := range files {
    		if file.IsDir() {
    			edirs, err := findEmptyFolder(path.Join(dirname, file.Name()))
    			if err != nil {
    				return nil, err
    			}
    			if edirs != nil {
    				emptys = append(emptys, edirs...)
    			}
    		}
    	}
    	return emptys, nil
    }
    
    func main() {
    	if len(os.Args) != 2 {
    		fmt.Println("Usage:", os.Args[0], "起始路径")
    		return
    	}
    	emptys, err := findEmptyFolder(os.Args[1])
    	if err != nil {
    		fmt.Println(err.Error())
    		return
    	}
    	for _, dir := range emptys {
    		if err := os.Remove(dir); err != nil {
    			fmt.Println("错误:", err.Error())
    		} else {
    			fmt.Println("删除成功:", dir)
    		}
    	}
    }
    
    
  • 相关阅读:
    Apex API 请求
    Apex 的 API 简介
    Salesforce 自定义元数据类型
    Apex 中 DML 进阶知识小结
    深度学习中的Attention机制
    从FM推演各深度CTR预估模型(附代码)
    深入浅出Word2Vector原理解析
    GBDT算法用于分类问题
    特征交叉
    方差膨胀因子VIF
  • 原文地址:https://www.cnblogs.com/oloroso/p/12853398.html
Copyright © 2020-2023  润新知