0
path = 'foo/{bar1,bar2}'
如何將bash shell擴展爲['foo/bar1','foo/bar2']?我已經嘗試過glob,os.path.realpath,並且在shutil中也沒有看到任何東西。在python中展開shell的路徑表達式
path = 'foo/{bar1,bar2}'
如何將bash shell擴展爲['foo/bar1','foo/bar2']?我已經嘗試過glob,os.path.realpath,並且在shutil中也沒有看到任何東西。在python中展開shell的路徑表達式
你可以得到的bash來爲你做它;)
paths = subprocess.check_output('bash -c "echo foo/{bar1,bar2}"', shell=True).split()
有沒有內建的方式來做到這一點。你需要編寫一些解析代碼來提取元素。
呀,好簡單的想法。這可能是最好的方法,除非有一些內置shutil類型的東西。 – mathtick
將無法正常工作,如果你的原始文件有一些空格,像'some {foo1,foo2}/bar' – nosklo
啊是的。空間會變得一團糟。我想不出有什麼好的辦法來解決這個問題 - 你可以逃離這個空間,但是這個分裂會得到錯誤的東西。也許在路上用標記代替它們(如果你不希望它們正常出現,就像_一樣),然後在出路上做一個反向替換。 – Glenn