【问题标题】:Azure-Pipelines Build - refer to files in buildAzure-Pipelines Build - 参考 build 中的文件
【发布时间】:2019-10-07 15:29:20
【问题描述】:

我正在尝试在 Azure DevOps 中构建基于 python 的工件。 我正在研究 Windows 代理。 这是我的代码结构:

+-- Dir1
+----Version1
+------Build
+--------build.yaml
+------Script
+--------test_file.py
+--------file.py
+------Docs

在构建管道期间,我尝试运行如下命令:

python $(System.DefaultWorkingDirectory)\Dir1\Version1\Script\test_**

我收到错误:

python: can't open file 'd:\a\1\s\Dir1\Version1\Script\test_**': [Errno 22] Invalid argument

当我直接引用文件时,它正在工作。 有谁知道为什么这些星号/通配符不能正常工作?

【问题讨论】:

  • 为什么要用星号?
  • 我认为它像通配符一样工作?
  • 因为 shell 不能那样工作?如果您想要某种通配符,则需要在 python 代码中执行此操作

标签: azure azure-devops azure-pipelines


【解决方案1】:

Azure-Pipelines 构建 - 参考构建中的文件

这是因为 windows 的命令解释器在将通配符传递给执行的程序或脚本之前不会像 UNIX shell 那样扩展通配符

要解决此问题,您可以使用glob 模块,它提供了一种与平台无关的通配符匹配方式。

查看this threadthe document 了解更多详情。

顺便说一句,如果您使用的是 Windows 10,则可以在 Bash 任务中使用通配符。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 2019-10-05
    • 2021-03-31
    • 2019-12-23
    • 2019-12-22
    • 2021-11-11
    • 2021-04-02
    • 1970-01-01
    相关资源
    最近更新 更多