random
random

Reputation: 65

Assignment raises exception for list.index

How could this code fragment...

def subInPath(origPath, subPath):
    origSplit = split(origPath, '/')
    subSplit = split(subPath, '/')

    subRoot = subSplit[0]
    origSplit.reverse()
    print origSplit.index(subRoot)
    rootIndex = origSplit.index(subRoot)

    origSplit[:rootIndex+1] = []
    origSplit.reverse()

    newPath = join(origSplit, sep)
    newPath += (sep + subPath)

    if not exists(newPath):
        raise Exception, "Path subbed in not found."
    return newPath

with the arguments ("C:/Users/MyName/Desktop/second_stage/Kickle_Pack/GardenLand_D.xml", "Kickle_Pack/Animations/TileAnims_48x48.xml")...

Output 2 at the print statement, but throw a ValueError at the statement below it. I'm baffled.

Upvotes: 1

Views: 80

Answers (1)

Srikar Appalaraju
Srikar Appalaraju

Reputation: 73658

Always use os.path module when working with directories or paths. It's got all the methods needed to work with directories, plus it has the advantage of being compatible in multiples operating system.

It's just better software engineering.

Upvotes: 1

Related Questions