使用python函数解析包含字符串列表的文件。 基本上一个行走的文件夹结构解析为txt文件,因此我不需要在prod中处理真正的raid。这也是一项要求。从包含路径列表的txt文件开始工作。
String fontSheet = fileToStylesheetString( new File ("location") );
if ( fontSheet == null ) {
//Do Whatever you want with logging/errors/etc.
} else {
scene.getStylesheets().add( fontSheet );
}
public String fileToStylesheetString ( File stylesheetFile ) {
try {
return stylesheetFile.toURI().toURL().toString();
} catch ( MalformedURLException e ) {
return null;
}
}
这是已经解决的清理列表版本的部分列表,并且工作正常。
真正的问题是,需要将文件夹中的所有帧解析为列表,以便它可以保存正确列出的序列。 可能有1帧或1000,同样在列表中看到的同一文件夹中有多个序列。
我的目标是为文件夹中的每个序列设置一个列表,这样我就可以提前完成更多的工作。
代码:
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'
]
答案 0 :(得分:0)
由于您似乎有不同的命名约定,您需要编写一个带有单个字符串的函数,并且可能使用正则表达式,返回一个明确的键供您排序,让我们说你名称由射击号严格标识,可以通过r".*[Ss]hot_?(\d+).*\.ext"
识别你可以为匹配基数10返回一个整数,从而丢弃任何前导0。
由于您也可能有版本号,您可以执行类似的操作以获得明确的版本号,(并且可能只处理给定镜头的最新版本)。