使用re和os进行python目录搜索

使用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 ##

我正在尝试使用re参数创建dir搜索。 当一个位置已经通过一个想要的搜索,排序在一个列表中作为一个下拉菜单使用。供用户访问信息并选择(我猜这是我的案例nuke.Panel中的软件绑定)

用户选择后,应进入所选目录内搜索的第2阶段

我遇到的问题是,我似乎无法把它作为我可以查看的东西拿回来,比如一个列表,看看选了什么,然后给我选择一个并继续的选项

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'])