Nim(含NimScript)中与Python的sys.executable等效的实现方式是什么?
在Nim中可以通过以下方式实现和Python sys.executable 等价的功能,相关API均为跨平台实现,无需额外适配不同操作系统:
- 核心API:获取当前调用的Nim编译器/解释器的完整路径(完全匹配
sys.executable的效果),直接使用内置的getCurrentCompilerExe()过程即可,无需额外导入依赖,同时支持普通Nim代码和NimScript环境。 - 若需要额外获取当前运行的Nim程序自身的二进制路径(对应编译后二进制的自身位置),可以导入
os模块后使用getAppFilename()。
普通Nim代码示例
# foo.nim # 获取Nim解释器/编译器路径 echo getCurrentCompilerExe() # 可选:获取当前程序自身路径 import os echo getAppFilename()
执行效果示例:
# 直接用nim运行脚本 $ /mingw64/bin/nim r foo.nim /mingw64/bin/nim.exe /tmp/nim_r_foo_xxxx/foo # 编译为二进制后执行 $ nim c foo.nim && ./foo /mingw64/bin/nim.exe /path/to/current/dir/foo
NimScript 示例
# foo.nims echo getCurrentCompilerExe()
执行效果示例:
$ /mingw64/bin/nim e foo.nims /mingw64/bin/nim.exe
内容的提问来源于stack exchange,提问作者Dilawar
相关产品推荐
相关产品推荐

