我有一個文件夾樹看起來像這樣YAML文件:比較文件路徑樹在Python
---
- folder1
- folder2:
- subfolder1:
- deepfolder1
- subolder2
- folder3
- folder4
...
我打開它:
with open(yaml_file) as f:
tree = yaml.load(f)
我想比較一下與URL路徑。
我再分裂URL元素來獲取列表[folder1, folder2]
path_elements = parse.unquote_plus(request_path).split(sep)
request_path應該是一個文件夾的相對鏈接(沒有斜線)。
我想檢查request_path是否位於YAML文件夾樹中,然後返回例如True
。
但後來我對如何比較兩個對象以排序和「pythonic」的方式失去了一種。
我想出的一切都有很多循環,感覺非常臃腫,既不聰明也不現代。
我使用的是Python 3.4,對於Python來說我真的很陌生。
如果有更好的方法來做到這一點(在YAML文件或不同的方法來比較這些其他的結構,每一個建議是歡迎!
感謝到目前爲止!我爲這個問題添加了一個更具體的目標:如果request_path在樹結構中,則返回'True'。 – basbebe 2015-02-24 19:38:04
一旦您擁有擴展路徑列表,該部分就很容易。只需循環遍歷所有擴展路徑,並將每個路徑與request_path進行比較。我用這個信息編輯了我的答案。 – 2015-02-24 19:48:29