草庐IT

os模块

全部标签

bash - os.exec.Command 和 pbcopy

我正在尝试执行bash命令"helloworld"|/usr/bin/pbcopy里面Go:packagemainimport("fmt""os/exec""strings")funcCmd(cmdstring){fmt.Println("commandis",cmd)parts:=strings.Fields(cmd)head:=parts[0]parts=parts[1:len(parts)]out,err:=exec.Command(head,parts...).Output()iferr!=nil{fmt.Printf("%s",err)}fmt.Println("out")f

google-app-engine - os.Open 在 AppEngine 上使用 Go

我最近开始尝试使用AppEngine,但在打开文件时遇到问题。这是我正在使用的代码:if_,err:=os.Open("/pizza.webp");err!=nil{printError(err.Error())}这给了我错误:open/pizza.webp:operationnotpermitted我试过使用.png来代替,结果相同。我也尝试过不使用斜线和在斜线前加一个点,两者都导致错误nosuchfileordirectory所以我猜我的路径是正确的,但出于某种原因我不知道没有访问它的权限,也许我需要在app.yaml中写一些东西?现在app.yaml看起来像这样:applicat

google-app-engine - 如何在 App Engine 模块之间共享文件(HTML 模板)?

我正在使用GoogleAppEngine的Go运行时并且有两个模块。我想在他们之间共享HTML模板,但最好不要这样做。我的模块组织如下:src/github.com/myproject/moduleone/app.yamlsrc/github.com/myproject/moduleone/templates/base.htmlsrc/github.com/myproject/moduleone/templates/homeone.htmlsrc/github.com/myproject/moduletwo/app.yamlsrc/github.com/myproject/module

go - 来自 os.Stat/Lstat 的目录大小

假设我在目录上执行os.Stat():funcmain(){fi,_:=os.Stat("/tmp")println(fi.Size())}//548//Programexited.https://play.golang.org/p/NIzGMHRYfi[FileInfo].Size()值究竟代表什么?这不是文件大小,所以我猜是文件数量之类的东西?inode?我在任何地方都找不到明确的答案,所以也许有人可以启发我? 最佳答案 FileInfo提及//lengthinbytesforregularfiles;system-depend

testing - 您如何构建用于在项目模块内进行测试的导入?

我试图了解如何将一个go项目构建为子模块,这些子模块存储在单独的源代码存储库中(在主机example.com上),但是当我这样做时,我不确定如何运行模块内的测试。以下示例中哪里出了问题,非常感谢您的帮助!!mkdir-psrc/example.com/john/toolecho"packagetool">>src/example.com/john/tool/book.goecho"">>src/example.com/john/tool/book.goecho"typeBookstruct{">>src/example.com/john/tool/book.goecho"Titlest

file-upload - 使用 OS Open 将 Golang 文件上传到 s3

我正在尝试使用Golang和amazons3api将图像上传到我的s3帐户。如果我硬编码等直接路径,我可以上传想象file,err:=os.Open("/Users/JohnSmith/Documents/pictures/cars.jpg")deferfile.Close()iferr!=nil{fmt.Printf("erropeningfile:%s",err)}如果我像这样硬编码文件路径,那么图片将上传到我的s3帐户。然而,这种方法并不好,因为我显然无法将直接图像路径硬编码到我要上传的每张图像。我的问题是如何在不对路径进行硬编码的情况下上传图像。这将是一个API的一部分,用户将

go - 在 golang 中使用 os/exec 在特定目录中执行命令

我想在特定目录中运行一个命令。所以这里有两种方法可以做到这一点。command:=exec.Command("echo*tar.gz|xargs-n1tarzxf")command.Dir=pathFinalcmdErr:=command.Run()另一方面,这对我不起作用,command:="cd"+pathFinal+";"+"echo*tar.gz|xargs-n1tarzxf"cmd:=exec.Command("/bin/sh","-c",command)cmdErr:=command.Run()这是有效的。我想以第一种方式实现它。我不知道为什么它不起作用第二个抛出错误无法解

golang 运行时 : failed to create new OS thread (have 2049 already; errno=12)

我在MacOs上创建了很多goroutine,程序执行时出现错误。goRoutineId=3710,i=3683,len(chan)=2049runtime:failedtocreatenewOSthread(have2049already;errno=12)fatalerror:runtime.newosproc所以我想知道“无法创建新的OS线程”是什么意思,这是操作系统的限制,只是golang没有能力创建更多的goroutine?谢谢你帮助我。 最佳答案 这是操作系统的限制。我假设您使用的是Linux。根据thesourceof

docker - os.Lstat 在基于 ubuntu 的 Docker 容器上的挂载卷中失败

我有一个使用go-bindata编译配置的docker容器。我用运行docker容器dockerrun-id\-vconf:/conf\-eCONF="/conf"\my-container然后在docker容器中,我安装go-bindata,然后运行RUNgo-bindata-prefix$CONF-o$GOPATH/src/github.com/my/repo/dir/conf_generated.go$CW_CONF/config输出是bindata:Failedtostatinputpath'/conf/config':lstat/conf/config:nosuchfileo

go - `os.O_APPEND` 和 `os.ModeAppend` 有什么区别?

我们可以在os.OpenFile指定flag和perm.他们有非常相似的选项,O_APPEND和ModeAppend.它们有什么区别?f,_:=os.OpenFile("access.log",os.O_APPEND|os.O_CREATE,os.ModeAppend|0644) 最佳答案 flag指定用于打开文件的系统调用的标志,而perm设置文件的文件模式。文件模式包括文件的权限和类型,例如。符号链接(symboliclink)、目录等...os.O_APPEND告诉底层操作系统,您对该文件处理程序执行的所有写入调用都应始终附加