Go 以哪種方式處理對目錄和文件的讀取訪問?我想讀取一個文件夾,搜索 csv 文件并保存每個 csv 文件的內容,以便通過 http 請求發(fā)送內容。這是我的代碼:func GetFileContent(fileName string) ([][]string, error) { file, err := os.Open(fileName) if err != nil { log.Println("There was an error:", err) return nil, err } defer file.Close() reader := csv.NewReader(file) reader.FieldsPerRecord = -1 csvFileContent, err := reader.ReadAll() if err != nil { log.Println("There was an error:", err) return nil, err } return csvFileContent, nil}func GetFiles(importPath string, fileExtension string) ([]string, error) { var result []string directory, err := os.Open(importPath) if err != nil { return result, err } defer directory.Close() files, err := directory.Readdir(-1) if err != nil { return result, err } for _, file := range files { if file.Mode().IsRegular() { if filepath.Ext(file.Name()) == "." + fileExtension { log.Println("Import Files: ", file.Name()) result = append(result, file.Name()) } } } if len(result) == 0 { log.Println("No import files of type " + fileExtension + " found.") log.Println("Import skipped.") } return result, nil}錯誤:打開:沒有這樣的文件或目錄當我不使用應用程序的根文件夾/工作目錄而是另一個(父)文件夾時出現(xiàn)?只要我使用 ./ 作為源文件夾,它就可以工作。
2 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
在這種情況下,您可以考慮使用更高級別的filepath.Glob()代替:
files, err := filepath.Glob(filepath.Join(importPath, "*.csv"))
- 2 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消