我一直在osx上使用此功能:
// Shortcut to get the path to the current executable
func ExecPath() string {
var here = os.Args[0]
if !strings.HasPrefix(here, "/") {
here, _ = exec.LookPath(os.Args[0])
if !strings.HasPrefix(here, "/") {
var wd, _ = os.Getwd()
here = path.Join(wd, here)
}
}
return here
}
…但是它很凌乱,它根本无法在Windows上运行,当然也不能在Windows上的git-bash中运行。
有没有办法做这个跨平台?
注意 具体来说,args [0]取决于二进制文件的调用方式。在某些情况下,它仅是二进制本身,例如。“ app”或“ app.exe”;所以你不能只使用它。
我认为这是传统的操作方式,我认为它可以在任何平台上使用。
import (
"fmt"
"os"
"path/filepath"
)
// Shortcut to get the path to the current executable
func ExecPath() string {
var here = os.Args[0]
here, err := filepath.Abs(here)
if err != nil {
fmt.Printf("Weird path: %s\n", err)
}
return here
}
我希望能够获得我已经提交给执行服务(特别是线程池执行器)的Callable(因此它们不能通过getQueue())。 我试图创建一个子类来覆盖beForeExecute之前的
问题内容: 似乎是一个新手问题,但事实并非如此。一些通用方法并非在所有情况下都有效: sys.argv [0] 这意味着使用,但是如果你是从另一个目录中的另一个Python脚本运行的,则此方法不起作用,并且这可能在现实生活中发生。 文件 这意味着使用,但是我发现这不起作用: py2exe没有属性,但是有一种解决方法 当你从IDLE运行时,没有属性 我得到的 答案不完整的相关问题: Python-查
问题内容: 我有调用其他脚本文件的脚本,但是我需要获取该进程中当前正在运行的文件的文件路径。 例如,假设我有三个文件。使用: 来电。 调用。 我怎样才能获得的文件名和路径,从内部代码,而无需从传递这些信息作为参数? (执行将返回原始启动脚本的文件路径,而不是当前文件的路径。) 问题答案: p1.py: p2.py:
问题内容: 如何找到当前正在运行的Python脚本的完整路径?就是说,我要做什么才能做到这一点: 问题答案: 不是您要找的东西。不要使用意外的副作用 是 永远 的脚本路径(如果事实上脚本已经调用) -见http://docs.python.org/library/sys.html#sys.argv 是 当前正在执行的 文件(脚本或模块)的路径。这是 偶然 一样的,如果它是从脚本访问的脚本!如果要将
在nodejs中,我使用__dirname。在戈兰,这相当于什么? 我在谷歌上找到了这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/.他使用下面的代码 但是,这是正确的方式还是习惯的方式做在戈朗?
问题内容: 如何获取Go中当前正在运行的进程的列表? 该OS软件包提供了一些功能:http : //golang.org/pkg/os/, 但没有提供任何内容来查看正在运行的进程的列表。 问题答案: 标准库中没有这样的功能,很可能永远不会。 在大多数情况下,程序不需要进程列表。Go程序通常希望等待一个或更少数量的进程,而不是所有进程。进程的PID通常通过除搜索所有进程的列表之外的其他方式获得。 如