首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何动态处理yaml文件中的UNIX/Windows目录分隔符

如何动态处理yaml文件中的UNIX/Windows目录分隔符
EN

Stack Overflow用户
提问于 2017-03-09 09:00:08
回答 1查看 2.3K关注 0票数 2

我们面临一个问题,在其中一个config-file.yml中需要配置路径。这是通向CLI脚本的一条路。对于UNIX/Windows-/- \,我们面临一个已知的老问题“目录分隔符”。现在,我们只想为两个开放源码软件配置一条路径。

目前,我们需要手动切换路径,这取决于当前使用的操作系统。这破坏了我们的VCS处理/应用程序的稳定性。

Unix

代码语言:javascript
运行
复制
bin_path: path/to/script

视窗

代码语言:javascript
运行
复制
bin_path: path\to\script

是否有类似于PHP超全局 DIRECTORY_SEPARATOR已知的占位符?我们将重点放在不需要替换脚本中的分隔符的解决方案上。在使用yaml文件时,我曾多次遇到这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 10:06:57

YAML是一种数据描述语言,因此不支持从外部流入YAML文档的数据(即可以在文档中使用的变量)。理论上,您可以做的唯一一件事是构造YAML文档,使您能够在以后选择实际想要的值。示例:

代码语言:javascript
运行
复制
bin_path:
  unix: path/to/script
  windows: path\to\script

然后,在加载文件时,可以为当前操作系统选择适当的路径。但是,与在Windows上使用/替换\的方法相比,这似乎是很复杂的。

另一种解决方案是只使用为Windows或UNIX配置的一条路径,如下例所示。这样,您就不需要为每个操作系统配置特定的路径。

代码语言:javascript
运行
复制
bin_path: path/to/script

例如,在PHP中,您可以使用真实路径来规范应用程序内部的传递。

代码语言:javascript
运行
复制
realpath('path/to/script'); //creates an absolute path including OS based directory separators
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42690862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档