主頁(yè) > 知識(shí)庫(kù) > Golang獲取目錄下的文件及目錄信息操作

Golang獲取目錄下的文件及目錄信息操作

熱門標(biāo)簽:仙桃400電話辦理 寧波語(yǔ)音外呼系統(tǒng)公司 地圖標(biāo)注免費(fèi)定制店 重慶慶云企業(yè)400電話到哪申請(qǐng) 宿遷便宜外呼系統(tǒng)代理商 鄭州智能語(yǔ)音電銷機(jī)器人價(jià)格 湛江crm外呼系統(tǒng)排名 不封卡外呼系統(tǒng) 上海極信防封電銷卡價(jià)格

一、獲取當(dāng)前目錄下的文件或目錄信息(不包含多級(jí)子目錄)

func main() {
 pwd,_ := os.Getwd()
 //獲取文件或目錄相關(guān)信息
 fileInfoList,err := ioutil.ReadDir(pwd)
 if err != nil {
 log.Fatal(err)
 }
 fmt.Println(len(fileInfoList))
 for i := range fileInfoList {
 fmt.Println(fileInfoList[i].Name()) //打印當(dāng)前文件或目錄下的文件或目錄名
 }
}

二、獲取當(dāng)前目錄下的文件或目錄名(不包含多級(jí)子目錄)

package main 
import (
 "os"
 "io/ioutil"
 "log"
 "fmt"
 "path/filepath"
)
 
func main() {
 pwd,_ := os.Getwd()
 
 //獲取當(dāng)前目錄下的文件或目錄名(包含路徑)
 filepathNames,err := filepath.Glob(filepath.Join(pwd,"*"))
 if err != nil {
 log.Fatal(err)
 }
 
 for i := range filepathNames {
 fmt.Println(filepathNames[i]) //打印path
 } 
}

三、獲取當(dāng)前文件或目錄下的所有文件或目錄信息(包括子目錄)

package main 
import (
 "os"
 "io/ioutil"
 "log"
 "fmt"
 "path/filepath"
)
 
func main() {
 pwd,_ := os.Getwd() 
 
 //獲取當(dāng)前目錄下的所有文件或目錄信息
 filepath.Walk(pwd,func(path string, info os.FileInfo, err error) error{
 fmt.Println(path) //打印path信息
 fmt.Println(info.Name()) //打印文件或目錄名
 return nil
 })
}

補(bǔ)充:Golang ioutil.ReadDir 讀取目錄下的內(nèi)容

ioutil中提供了一個(gè)非常翻遍的函數(shù)函數(shù)ReadDir,他讀取目錄并返回排好序的文件以及子目錄名([]os.FileInfo)

example:編寫(xiě)程序輸出某目錄下的所有文件。

package main
import (
  "io/ioutil"
  "fmt"
  "os"
)
func listAll(path string, curHier int) {
  readerInfos ,err := ioutil.ReadDir(path)
  if err != nil {
    fmt.Println(err)
    return
  }
  for _, info := range readerInfos {
    if info.IsDir() {
      for tmpheir := curHier; tmpheir >0; tmpheir-- {
        fmt.Printf("|\t")
      }
      fmt.Println(info.Name(),"\\")
      listAll(path + "\\" + info.Name(),curHier+1)
    }else {
      for tmpheir := curHier ;tmpheir >0; tmpheir-- {
        fmt.Printf("|\t")
      }
      fmt.Println(info.Name())
    }
  }
}
func main() {
  dir := os.Args[1]
  listAll(dir,0)
}

我是在win10 環(huán)境中試驗(yàn)。成功

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

您可能感興趣的文章:
  • 詳解Golang使用MongoDB通用操作
  • Golang 如何判斷數(shù)組某個(gè)元素是否存在(isset)
  • golang獲取網(wǎng)卡信息操作
  • golang判斷net.Conn 是否已關(guān)閉的操作
  • 解決golang json解析出現(xiàn)值為空的問(wèn)題
  • golang 獲取字符串長(zhǎng)度的案例
  • 對(duì)Golang中的runtime.Caller使用說(shuō)明
  • 如何判斷Golang接口是否實(shí)現(xiàn)的操作
  • 詳解golang中的method

標(biāo)簽:海南 遼寧 安康 青海 物業(yè)服務(wù) 儋州 電子產(chǎn)品 西雙版納

巨人網(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)民參考!
  • 推薦文章