簡體   English   中英

我希望能夠從列表python分組相同的文件序列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM