私は値 (inputCategory) を検索するこのコードを持っています。これは多くの場合、パスの最後にあります (たとえば/blah/blah/<category/blah
、または時々/blah/blah/<category>
def category_search(inputDirectory, inputCategory, root):
categorySearch = os.path.split(os.path.normpath(inputDirectory))
if categorySearch[1] == inputName:
Logger.info("SEARCH: Files appear to be in their own directory")
categorySearch2 = os.path.split(os.path.normpath(categorySearch[0]))
if categorySearch2[1] == twoCategory or categorySearch2[1] == oneCategory:
if not inputCategory:
Logger.info("SEARCH: Determined Category to be: %s", categorySearch2[1])
inputCategory = categorySearch2[1]
elif not inputCategory:
Logger.error("SEARCH: Could not identify category from the directory structure.")
sys.exit(-1)
else:
pass
elif categorySearch[1] == twoCategory or categorySearch[1] == oneCategory:
if os.path.isdir(os.path.join(inputDirectory, inputName)):
inputDirectory = os.path.join(inputDirectory, inputName)
else:
Logger.info("SEARCH: The directory passed is the root directory for category %s", categorySearch[1])
Logger.info("SEARCH: We will try and determine which files to process, individually")
root = 1
if not inputCategory:
Logger.info("SEARCH: Determined Category to be: %s", categorySearch[1])
inputCategory = categorySearch[1]
elif not inputCategory:
Logger.error("SEARCH: Could not identify category from the directory structure")
sys.exit(-1)
else:
Logger.info("SEARCH: The directory passed does not appear to include a category")
root = 1
return inputDirectory, inputCategory, root
しかし、コードはあまり動的ではなく、たとえば次のようなパスを取得した場合にスローされる可能性があります/blah/blah/<category>/blah/blah
このコードを最適化し、上記のような状況をキャッチする方法についての情報を探しています。
私はPythonでかなり新しいので、優しくしてください:)助けてくれてありがとう!