Python

反斜杠上的 Ansible 拆分字元串

  • March 17, 2022

我將目錄/子目錄列表傳遞到劇本中,如下所示:

dirs=['Web\this','Web\that','Web']

當我實際在這些目錄上執行任務(win_shell,呼叫建構過程)時,這很好用,但後來我需要復製文件,並且當用作文件名的一部分時,’' 不起作用。我有興趣使用以下內容,因此我將獲取大多數建構的模組名稱和根文件夾中的模組名稱:

dirs[1].split('\\')[-1]

我希望這會分別返回“this”、“that”和“Web”。

但是我找不到任何斜線或正則表達式魔法的組合來分割我的字元串。我在 StackExchange 中發現了 5 個很接近的問題/答案,但似乎都沒有。

我也試過這個

"{{ dirs[1] | regex_replace('\\','-') }}"

可以避免引號和轉義煉金術並使用分隔符聲明變數。使用單引號樣式;反斜杠'\'可以自由使用。比如下面的戲

 vars:
   separator: '\'
   dirs: ['Web\this','Web\that','Web']
 tasks:
   - debug:
       msg: "{{ dirs[1].split(separator)[-1] }}"

"msg": "that"

引用自:https://serverfault.com/questions/985957