为了账号安全,请及时绑定邮箱和手机立即绑定

使用子目录时如何修复文件访问?

使用子目录时如何修复文件访问?

Go
守候你守候我 2021-09-13 10:22:57
Go 以哪种方式处理对目录和文件的读取访问?我想读取一个文件夹,搜索 csv 文件并保存每个 csv 文件的内容,以便通过 http 请求发送内容。这是我的代码: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}错误:打开:没有这样的文件或目录当我不使用应用程序的根文件夹/工作目录而是另一个(父)文件夹时出现?只要我使用 ./ 作为源文件夹,它就可以工作。
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

在这种情况下,您可以考虑使用更高级别的filepath.Glob()代替:

files, err := filepath.Glob(filepath.Join(importPath, "*.csv"))


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信