Python
反斜杠上的 Ansible 拆分字元串
我將目錄/子目錄列表傳遞到劇本中,如下所示:
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"