Then if we're accessing /D/script and returning 'container['C.pdf']' we'll return C.pdf(3); if we return 'container['A/B/C.pdf'] then we'll return C.pdf(2) (acquisition is a beautiful thing).
However, returning 'container['A/B/C.pdf'] gives me a key error. This makes it rather difficult to access C.pdf(1).
Naturally. You're trying to access a thing called ay-slash-be-slash-see-dot-pee-dee-eff. And it's not there. If you want to get substructures in Python, you can do one of these things: container.A.B.C # can't go to something with a dot in the name container.A.B['C.pdf'] container['A']['B']['C.pdf'] container.restrictedTraverse('A/B/C.pdf') Restricted traverse is probably the best way to deal with a variable path, as you seem to have. See also: http://www.zopelabs.com/cookbook/1001104105 http://www.zopelabs.com/cookbook/1032051886 --jcc