【发布时间】: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