不必要地循环文件名

2024-09-29 17:15:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

if inputFileName: 
    if inputFileName.lower().endswith(mediaExt):
        for word in ignoreWords:
            if word not in inputFileName.lower():
                if os.path.isfile(inputDirectory):
                    try:
                        processFile(fileAction, inputDirectory, outputDestination)
                    except Exception, e:
                        logging.error(loggerHeader + "There was an error when trying to process file: %s", os.path.join(inputDirectory, inputFileName))
                        logging.exception(e)
                else:
                    try:
                        processFile(fileAction, os.path.join(inputDirectory, inputFileName), outputDestination)
                    except Exception, e:
                        logging.error(loggerHeader + "There was an error when trying to process file: %s", os.path.join(inputDirectory, inputFileName))
                        logging.exception(e)

ignoreWords是一个列表,其中包含一些我不希望文件名包含的单词。现在我的问题是,它将在同一个文件中循环执行列表中的x项。我希望它只匹配单词一次(或者在匹配完成时运行processFile一次),但不能找到合适的解决方案


Tags: pathinifosloggingerrorlowerword
2条回答

替换

for word in ignoreWords:
    if word not in inputFileName.lower():

if not any(word in inputFileName.lower() for word in ignoreWords):

你应该循环文件名。如果文件名不在ignoreWords列表中,则丢弃它。你知道吗

      if inputFileName: 
            if inputFileName.lower().endswith(mediaExt):
                for word in inputFileName.lower():
                    if word not in ignoreList:
                        if os.path.isfile(inputDirectory):
                            try:
                                processFile(fileAction, inputDirectory, outputDestination)
                            except Exception, e:
                                logging.error(loggerHeader + "There was an error when trying to process file: %s", os.path.join(inputDirectory, inputFileName))
                                logging.exception(e)
                        else:
                            try:
                                processFile(fileAction, os.path.join(inputDirectory, inputFileName), outputDestination)
                            except Exception, e:
                                logging.error(loggerHeader + "There was an error when trying to process file: %s", os.path.join(inputDirectory, inputFileName))
                                logging.exception(e)

相关问题 更多 >

    热门问题