婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Golang 刪除文件并遞歸刪除空目錄的操作

Golang 刪除文件并遞歸刪除空目錄的操作

熱門標(biāo)簽:百度地圖標(biāo)注后傳給手機(jī) 外呼系統(tǒng)顯本地手機(jī)號(hào) excel地圖標(biāo)注分布數(shù)據(jù) 評(píng)價(jià)高的400電話辦理 外呼系統(tǒng)用什么卡 阿克蘇地圖標(biāo)注 電話機(jī)器人軟件免費(fèi) 涿州代理外呼系統(tǒng) 壽光微信地圖標(biāo)注

目的:

刪除文件之后,如果目錄為空,遞歸刪除為空的目錄。

svr.dataDir指目錄的最外層,遞歸刪除目錄的時(shí)候判斷到這一層即可。

eg:/Users/danny/data

func deleteFileOnDisk(localPath string) {
    log.Debugf("remove file: %s", localPath)
    if err := os.Remove(localPath); err != nil {
        log.Error(err)
    }
    dirsList := make([]string, 0, 0)
    for dir := path.Dir(localPath); dir != svr.dataDir  len(dir) > len(svr.dataDir); dir = path.Dir(dir) {
        dirsList = append(dirsList, dir)
    }
    sort.StringSlice(dirsList).Sort()
    for i := len(dirsList) - 1; i >= 0; i-- {
        f, err := os.Open(dirsList[i])
        if err != nil {
            log.Error(err)
        }
        fs, err2 := f.Readdirnames(1)
        if err2 == io.EOF  (fs == nil || len(fs) == 0) {
            f.Close()
            log.Debugf("remove dir: %s", dirsList[i])
            if err := os.Remove(dirsList[i]); err != nil {
                log.Error(err)
            }
            continue
        } else if err2 != nil {
            log.Error(err2)
        }
        f.Close()
    }
}

補(bǔ)充:golang 刪除目錄所有內(nèi)容

只需使用ioutil.ReadDir即可獲得os.FileInfo類型的切片

然后然后使用os.RemoveAll進(jìn)行迭代并刪除每個(gè)子項(xiàng)。

package main 
import (
    "io/ioutil"
    "os"
    "path"
)
 
func main() {
    dir, err := ioutil.ReadDir("/tmp")
    for _, d := range dir {
        os.RemoveAll(path.Join([]string{"tmp", d.Name()}...))
    }
}

這樣,你將僅刪除所有子項(xiàng),而不刪除父/tmp文件夾本身

補(bǔ)充: Go 遞歸刪除空目錄

這個(gè)可以通過(guò)shell腳本來(lái)達(dá)到目的

find -type d -empty|xrags rmdir

寫這個(gè)是因?yàn)橛袀€(gè) windows 的服務(wù)器,又不熟悉批處理和powershell腳本,就寫了這么個(gè)玩意

放在這里做個(gè)記錄

package main 
import (
 "fmt"
 "io/ioutil"
 "os"
 "path"
)
 
func findEmptyFolder(dirname string) (emptys []string, err error) {
 // Golang學(xué)習(xí) - 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("錯(cuò)誤:", err.Error())
  } else {
   fmt.Println("刪除成功:", dir)
  }
 }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 解決go build不去vendor下查找包的問(wèn)題
  • 解決GOPATH在GOLAND中的坑
  • golang 如何刪除二進(jìn)制文件中的源碼路徑信息
  • Golang 文件操作:刪除指定的文件方式
  • go run main.go 一直提示找不到包的解決方案

標(biāo)簽:吐魯番 銅川 重慶 欽州 梅河口 蘭州 汕頭 雞西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang 刪除文件并遞歸刪除空目錄的操作》,本文關(guān)鍵詞  Golang,刪除,文件,并,遞歸,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang 刪除文件并遞歸刪除空目錄的操作》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Golang 刪除文件并遞歸刪除空目錄的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩精品一区二区三区三区免费| 日本中文字幕一区二区有限公司| 国产亚洲欧美激情| 中文字幕一区视频| 亚洲午夜视频在线观看| 捆绑紧缚一区二区三区视频| 成人午夜免费电影| 国产亚洲人成网站| 久久av资源网| 日韩一区二区在线播放| 亚洲国产精品久久久久秋霞影院| 精品一区二区三区av| 欧美日韩成人在线一区| 成人免费在线视频观看| av在线综合网| 国产精品久久久久7777按摩| 国产精品91xxx| 自拍偷在线精品自拍偷无码专区| 99久久精品免费观看| 国产精品女同一区二区三区| av网站一区二区三区| 亚洲少妇30p| 欧美一区二区三区在线观看 | 91久久精品国产91性色tv| 国产午夜亚洲精品不卡| 成人午夜激情影院| 日韩一区日韩二区| 欧美日韩国产三级| 国产二区国产一区在线观看| 欧美夫妻性生活| 成人免费视频一区| 麻豆精品在线看| 亚洲天堂免费在线观看视频| 欧美电影一区二区| 99re成人精品视频| 粉嫩aⅴ一区二区三区四区| 日本伊人精品一区二区三区观看方式| 中文字幕欧美三区| 日韩午夜在线影院| 欧美久久久久久久久久| 97精品国产露脸对白| 国产成人精品三级| 久久99精品国产麻豆不卡| 一二三区精品视频| 亚洲日本欧美天堂| 国产精品国产自产拍在线| 久久综合久色欧美综合狠狠| 日韩一区二区在线看| 777久久久精品| 欧美精品一卡二卡| 欧美一级艳片视频免费观看| 欧美日韩亚洲综合在线| 正在播放亚洲一区| 日韩午夜av电影| 久久蜜臀精品av| 国产精品女主播av| 亚洲制服丝袜一区| 麻豆91精品视频| 成人深夜在线观看| 在线观看一区二区精品视频| 日本久久电影网| 欧美成人a在线| 18成人在线视频| 午夜精品久久久久久久 | 26uuuu精品一区二区| 久久嫩草精品久久久精品一| 国产精品美日韩| 老司机精品视频一区二区三区| 国产一区二区剧情av在线| 99久久99久久精品国产片果冻| 欧美国产一区二区| 日韩激情视频网站| 欧美色区777第一页| 久久久九九九九| 懂色av噜噜一区二区三区av| 一级中文字幕一区二区| 懂色av一区二区三区免费观看| 欧美日韩一级黄| 日本最新不卡在线| 日韩一区在线免费观看| 91黄色激情网站| 91原创在线视频| 天堂va蜜桃一区二区三区漫画版| 国产精品国产三级国产aⅴ中文| 三级在线观看一区二区| 成人高清免费观看| 日本一区二区三区在线不卡| 麻豆91精品视频| 久久精品亚洲精品国产欧美kt∨| 九色|91porny| 蜜臀99久久精品久久久久久软件| 欧美成人一区二区三区片免费| 一区二区不卡在线视频 午夜欧美不卡在 | 天堂va蜜桃一区二区三区| www.综合网.com| 国产精品无码永久免费888| 丰满亚洲少妇av| 亚洲九九爱视频| 在线观看av一区| 麻豆精品国产传媒mv男同| 制服丝袜av成人在线看| 成人天堂资源www在线| 日韩精品乱码免费| 欧美精品一区男女天堂| www.99精品| 天天综合天天综合色| 国产视频911| 欧美一级高清片| bt7086福利一区国产| 午夜电影久久久| 国产成人综合视频| 青青草伊人久久| 成人欧美一区二区三区1314 | 欧美激情一区三区| 成人av电影免费在线播放| 婷婷开心激情综合| 国产亚洲精品7777| 色综合久久88色综合天天6| 久草精品在线观看| 日韩精品色哟哟| 国产精品嫩草影院av蜜臀| 日韩欧美电影一区| 欧美一区永久视频免费观看| 99v久久综合狠狠综合久久| 国产精品99久久久久久似苏梦涵| 麻豆精品精品国产自在97香蕉| 日韩高清不卡一区二区三区| 中文字幕一区二区日韩精品绯色| 国产人成一区二区三区影院| 欧美一级一级性生活免费录像| 欧美天天综合网| 欧美人与禽zozo性伦| 精品国免费一区二区三区| 26uuu亚洲| 国产精品成人网| 亚洲午夜精品17c| 国模娜娜一区二区三区| 国产精品资源站在线| 国产99久久精品| 日本黄色一区二区| 91精品国产综合久久久久久漫画 | 久久久夜色精品亚洲| 久久亚洲精华国产精华液 | 中文字幕在线一区免费| 日韩美女视频在线| 国产亚洲欧洲一区高清在线观看| 国产精品天干天干在观线| 亚洲图片欧美一区| 国产美女一区二区| 色婷婷亚洲精品| 中文字幕欧美三区| 成人综合在线视频| 久久亚洲精品国产精品紫薇| 亚洲18影院在线观看| 一本一本大道香蕉久在线精品| 日韩精品一区二区三区老鸭窝 | 666欧美在线视频| 亚洲午夜久久久久中文字幕久| av成人动漫在线观看| 国产亚洲欧美日韩在线一区| 久久99热这里只有精品| 91精品国产91久久久久久最新毛片 | 欧美性大战久久久久久久| 亚洲欧美日韩国产另类专区| 国产成人在线免费| 国产人久久人人人人爽| 99久久伊人网影院| √…a在线天堂一区| 91麻豆高清视频| 午夜亚洲国产au精品一区二区| 欧美日韩国产免费| 国产一区二区三区| 中文字幕五月欧美| 日韩欧美一区在线观看| 成人高清视频在线| 三级影片在线观看欧美日韩一区二区| 欧美日本韩国一区二区三区视频| 亚洲成a人片在线不卡一二三区| 日韩欧美精品在线视频| 国产suv精品一区二区6| 日韩av成人高清| 亚洲激情第一区| 中文字幕一区二区视频| 欧美草草影院在线视频| 亚洲国产精品欧美一二99 | 欧美性色黄大片手机版| 日本午夜一区二区| 中文字幕一区二区三区四区 | 久久久精品国产99久久精品芒果| 99re这里只有精品视频首页| 国内久久精品视频| 久久99精品久久久| 免费看欧美女人艹b| 亚洲一区成人在线| 亚洲免费在线观看| 亚洲美女在线一区| 亚洲乱码国产乱码精品精的特点 | 欧美精品18+| 欧美在线免费播放| 欧美三区在线视频|