golang 如何獲取文件夾下面的文件列表
更新時間:2021年05月07日 09:54:49 作者:解靈運
這篇文章主要介紹了golang 獲取文件夾下面的文件列表方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
golang的文檔里面比較容易找到的一個方法是filepath.Walk,這個方法有個問題是會自動遞歸遍歷當前目錄的子目錄,其實我們通常只是想得到一個目錄下面的文件列表,并不需要這么多的信息,同時這個方法代碼寫起來也比較多比較復雜,我們也沒有必要這么做。
如果僅僅是想獲取一個目錄下面的文件和文件夾的列表,有兩個比較簡單的方法
利用ioutil的ReadDir方法
package main import ( "fmt" "io/ioutil" ) func main() { files, _ := ioutil.ReadDir("./") for _, f := range files { fmt.Println(f.Name()) } }
利用filepath的Glob方法
package main import ( "fmt" "path/filepath" ) func main() { files, _ := filepath.Glob("*") fmt.Println(files) // contains a list of all files in the current directory }
補充:golang獲取文件/目錄(包含下面的文件)的大小
看代碼吧~
func DirSize(path string) (int64, error) { var size int64 err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error { if !info.IsDir() { size += info.Size() } return err }) return size, err }
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:
相關文章
更高效的GoLevelDB:shardingdb實現分片和并發(fā)讀寫操作
這篇文章主要介紹了更高效的GoLevelDB:shardingdb實現分片和并發(fā)讀寫操作的相關資料,需要的朋友可以參考下2023-09-09