使用re和os进行python目录搜索
我正在尝试使用re参数创建dir搜索。 当一个位置已经通过一个想要的搜索,排序在一个列表中作为一个下拉菜单使用。供用户访问信息并选择(我猜这是我的案例nuke.Panel中的软件绑定) 用户选择后,应进入所选目录内搜索的第2阶段 我遇到的问题是,我似乎无法把它作为我可以查看的东西拿回来,比如一个列表,看看选了什么,然后给我选择一个并继续的选项使用re和os进行python目录搜索,python,path,pipeline,nuke,Python,Path,Pipeline,Nuke,我正在尝试使用re参数创建dir搜索。 当一个位置已经通过一个想要的搜索,排序在一个列表中作为一个下拉菜单使用。供用户访问信息并选择(我猜这是我的案例nuke.Panel中的软件绑定) 用户选择后,应进入所选目录内搜索的第2阶段 我遇到的问题是,我似乎无法把它作为我可以查看的东西拿回来,比如一个列表,看看选了什么,然后给我选择一个并继续的选项 import nukescripts import nuke import re import os from glob import glob ##
import nukescripts
import nuke
import re
import os
from glob import glob
## Based on folder structure : sequence/sq010(sqXXX)/sh120(shXXX)/comp(cleanup, key, roto)
os.environ['sequence'] = '/Volumes/postergren/Projects/TD/assetmanagerTest/sequence'
os.environ['SEQ'] = ''
os.environ['SHOT'] = ''
os.environ['DEP'] = ''
# Check to see if ENV set already
env_check = os.environ.get('sequence')
myPanel = nuke.Panel("Asset Manager - Setup")
myPanel.setWidth(350)
## SEQ FOLDER
seqPath = os.path.join(os.getenv('sequence'))
seqPathDirs = [os.path.join(seqPath, dir) for dir in os.listdir(seqPath) if os.path.isdir(os.path.join(seqPath, dir))]
seqPattern = re.compile('sq(\d+)')
for i in seqPathDirs:
thisDir = os.path.split(i)[1]
if seqPattern.match(thisDir):
os.environ['SEQ'] = (i)
# Panel
myPanel.addEnumerationPulldown("Sequence: ", os.environ['SEQ'])
if myPanel.show():
os.environ['SEQ'] = myPanel.value("Sequence: ")
nuke.tprint(os.environ['SEQ'])
## SHOT FOLDER
shotPath = os.path.join(os.getenv('sequence') + os.getenv('SEQ'))
shotPathDirs = [os.path.join(seqPath, dir) for dir in os.listdir(seqPath) if os.path.isdir(os.path.join(seqPath, dir))]
shotPattern = re.compile('sh(\d+)')
for i in shotPathDirs:
thisDir = os.path.split(i)[1]
if seqPattern.match(thisDir):
os.environ['SHOT'] = (i)
# Panel
myPanel.addEnumerationPulldown("Shot: ", os.environ['SHOT'][:])
if myPanel.show():
os.environ['SHOT'] = myPanel.value("Shot: ")
## END SHOT FOLDER
nuke.tprint(os.environ['SHOT'])