第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何通過命令行查看目錄下上千個(gè)文件?

如何通過命令行查看目錄下上千個(gè)文件?

Go
收到一只叮咚 2023-07-10 14:31:11
我已將超過 500 GB 的數(shù)據(jù)下載到 AWS 的單個(gè)目錄中。每當(dāng)我嘗試訪問該目錄時(shí),命令行都會(huì)掛起并且不向我顯示任何內(nèi)容。我正在嘗試運(yùn)行一些代碼,通過打印出每個(gè)文件的路徑來與文件交互,但命令行掛起,然后退出程序。該程序肯定會(huì)開始執(zhí)行,因?yàn)椤按蛴∥募窂健憋@示在控制臺(tái)上。func main() {    fmt.Println("Printing file path's")    err := filepath.Walk(source,        func(fpath string, info os.FileInfo, err error) {            if !info.IsDir() && file path.Ext(fpath)==".txt" {                fmt.Println(fpath)            }         }    }}我應(yīng)該如何處理能夠在命令行中查看所有文件的情況以及為什么該程序無法運(yùn)行?更新:通過使用files, err := dir.Readdir(10)        if err == io.EOF {            break        }我能夠搶占目錄中的前 10 個(gè)文件夾/文件。使用循環(huán),我可以繼續(xù)執(zhí)行此操作,直到到達(dá)目錄末尾。這不像 walk 功能那樣依賴于對(duì)文件/文件夾進(jìn)行排序,因此效率更高。
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

filepath.Walk 可能存在的性能問題有明確記錄:

文件按詞法順序遍歷,這使得輸出具有確定性,但意味著對(duì)于非常大的目錄,遍歷可能效率低下。

使用os.File.Readdir按文件系統(tǒng)順序迭代文件:

Readdir 讀取與文件關(guān)聯(lián)的目錄的內(nèi)容,并返回最多包含 n 個(gè) FileInfo 值的片段,如 Lstat 按目錄順序返回的那樣。對(duì)同一文件的后續(xù)調(diào)用將產(chǎn)生更多的 FileInfo。

package main


import (

? ? "fmt"

? ? "io"

? ? "log"

? ? "os"

? ? "time"

)


func main() {

? ? dir, err := os.Open("/tmp")

? ? if err != nil {

? ? ? ? log.Fatal(err)

? ? }


? ? for {

? ? ? ? files, err := dir.Readdir(10)

? ? ? ? if err == io.EOF {

? ? ? ? ? ? break

? ? ? ? }

? ? ? ? if err != nil {

? ? ? ? ? ? log.Fatal(err)

? ? ? ? }


? ? ? ? for _, fi := range files {

? ? ? ? ? ? classifier := ""

? ? ? ? ? ? if fi.IsDir() {

? ? ? ? ? ? ? ? classifier = "/"

? ? ? ? ? ? }

? ? ? ? ? ? fmt.Printf("%v %12d %s%s\n",

? ? ? ? ? ? ? ? fi.ModTime().UTC().Truncate(time.Second),

? ? ? ? ? ? ? ? fi.Size(),

? ? ? ? ? ? ? ? fi.Name(), classifier,

? ? ? ? ? ? )

? ? ? ? }

? ? }

}


查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)