[英]I want to be able to group same file sequence from a list python
使用python函數解析包含字符串列表的文件。 基本上是將步行文件夾結構解析為txt文件,因此我在制作產品時不必進行真正的突襲檢查。 這也是一個要求。 從包含路徑列表的txt文件中工作。
lpaths =[
'/projects/0100/dbu/shots/11_1/SC11_1_Shot012/render/SC11_1_Shot012.v01_1025.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot012/render/SC11_1_Shot012.v01_1042.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot012/render/SC11_1_Shot012.v01_1016.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot012/2d/app/Shot012_v1.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot012/2d/app/Shot012_v02.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/3d/app2/workspace.cfg',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/3d/app2/scenes/SC11_1_Shot004_v01.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/3d/app2/scenes/Shot004_camera_v01.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/render/SC11_1_Shot004.v01_1112.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/render/SC11_1_Shot004.v01_1034.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/render/SC11_1_Shot004.v02_1116.exr',
'/projects/0100/dbu/shots/11_1/SC11_1_Shot004/render/SC11_1_Shot004.v02_1126.exr'
]
這是已經制定並且可以正常使用的清除列表版本ive的部分列表。
真正的問題是,需要將文件夾中的所有幀解析為一個列表,以便它可以容納適當的列出序列。 如列表中所示,同一文件夾中可能有1幀或1000,也有多個序列。
我的目標是在文件夾中為每個序列提供一個列表,這樣我就可以推動它們前進以做更多的工作。
碼:
groups = [list(group) for key, group in itertools.groupby(sorted(lpaths), len)]
pp.pprint(groups)
由於您似乎有不同的命名約定,因此您需要編寫一個函數,該函數采用單個字符串,並且可能使用正則表達式 ,返回一個明確的鍵供您排序,可以說您的名字由鏡頭編號嚴格標識,可以用r".*[Ss]hot_?(\\d+).*\\.ext"
標識,您可以為匹配基數10返回一個整數,因此丟棄任何前導0。
由於您可能還具有版本號,因此可以執行類似的操作來獲得明確的版本號(並且可能僅處理給定快照的最新版本)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.