我有一个脚本可以编译几个程序并将输出放入一个文件夹中,我的脚本中有一个函数可以迭代并找到文件夹中的所有可执行文件并将它们添加到列表中,
def _oswalkthrough(direc,filelist=[]):
dirList=os.listdir(direc)
for item in dirList:
filepath = direc+os.sep+item
if os.path.isdir(filepath):
filelist = _oswalkthrough(filepath,filelist)
else:
if ".exe" == item[-4:]:
filelist.append(filepath)
return filelist
这在windows上没有任何问题,但是当我在mac上运行它时,我无法让它工作,当然mac中的编译文件不以“.exe”结尾,所以if语句没用,所以我制作了一个包含已编译文件名称的列表并将脚本更改为以下内容,但仍然没有结果,它添加了所有文件,包括我不想要的“.o”文件!我只想要exe?(我不知道他们在 mac 中叫什么!)。
def _oswalkthrough(direc,filelist=[]):
dirList=os.listdir(direc)
for item in dirList:
filepath = direc+os.sep+item
if os.path.isdir(filepath):
filelist = _oswalkthrough(filepath,filelist)
else:
for file in def_scons_exe:
if file == item[-4:]:
filelist.append(filepath)
return filelist