【问题标题】:Golang beginner, on Windows: System cannot find file specifiedGolang初学者,在Windows上:系统找不到指定的文件
【发布时间】:2022-03-02 01:40:45
【问题描述】:

刚开始接触golang,在此之前只有少量的编程经验。我正在尝试创建一个脚本来总结 csv 文件中的某些内容,但我什至还没有通过测试文件读取。

我在读取 excel 文件时遇到问题,并且不断收到“系统找不到指定的文件”错误。所以我想看看我是否至少可以让它读取一个简单的文本文件,使用来自 golangbot 的示例,如下所示:

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    data, err := ioutil.ReadFile("test.txt")
    if err != nil {
        fmt.Println("File reading error", err)
        return
    }
    fmt.Println("Contents of file:", string(data))
}

就这么简单。文本文件与我尝试运行的实际代码文件位于同一文件夹中(在 %USERPROFILE%/go/src 中,并且 /go/ 是我的 GOPATH),是的,它被称为“test.txt” .然而,每次尝试运行都会给我同样的错误信息,系统找不到指定的文件 (test.txt)。

运行任何其他类型的 .go 文件或从该位置构建一个都可以正常工作。我看到其他人出现此错误,但似乎总是与 GOPATH 设置错误有关。

我很沮丧,我什至不得不问这样的事情,但这是我现在能想到的。我的文件的位置或 GOPATH 本身是否有问题,或者这有什么不同?

谢谢

【问题讨论】:

  • $GOPATH/src 的根目录中不应有任何文件。文件相对于您的程序源的相对位置无关紧要。您确定test.txt 位于您执行程序的当前工作目录中吗?
  • 是的,我确定。它就在 .go 文件下。我将文件放入 src 根目录,因为其他工作空间位置也不起作用。最奇怪的。
  • 其他工作空间位置工作,您可能需要仔细阅读How to Write Go Code 中的基本文档。正如我所提到的,相对于.go 文件的路径无关紧要,它需要相对于您的工作目录。
  • Go 版本:go 版本 go1.10.2 windows/amd64。 Go 路径为:GOPATH=C:\Users\%USERNAME%\go。 Golang.org 的输出确实说没有这样的文件或目录。至于工作空间和文件的位置:%GOPATH%/src/github.com/GolangCode。这是代码和 txt 文件的位置。这是不正确的吗?我今天早些时候阅读了 Go Playground 指南,但我似乎误会了什么。
  • 请注意,test.txt 相对于 代码 的位置并不重要。当你运行这个程序时,它会在你运行它的当前工作目录中寻找test.txt

标签: go visual-studio-code


【解决方案1】:

Welp,问题解决了。原来,txt 文件的实际名称是 test.txt.txt。感谢记事本和我自己缺乏意识。

有点尴尬,真的。更改名称有效。

【讨论】:

  • 我遇到了完全相同的问题。我忘记了操作系统默认隐藏文件扩展名=)
【解决方案2】:

当您使用记事本尝试此操作时。保存时要小心。

文件类型应该兼容

  • 文件 -> 另存为 >
    文件名:文件名.go
    保存类型:所有文件
  • 现在执行为 ("文件夹路径">go run FileName.go

然后是结果。赞一个

【讨论】:

    【解决方案3】:

    我也遇到了类似的问题。我会尝试这样做以修复它。删除文件并创建一个新文件。在我看来,这是一个简单的解决方案。确保复制代码,然后粘贴到新文件中。目录 cd 进入该目录 touch 或 nano 创建一个新文件。然后打开那个文件。然后去运行那个文件名。 它应该工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 2018-12-22
      • 2013-11-21
      相关资源
      最近更新 更多