>>> def func(path, prefix, delim='/'):
... if not delim in path:
... return prefix + path
... return path.rsplit(delim, 1)[0] + delim + prefix + path.rsplit(delim, 1)[-1]
...
>>> def func2(path, prefix):
... import os
... return os.path.join(os.path.dirname(path), prefix + os.path.basename(path))
...
>>> def form():
... l = []
... for i in range(1, 10001):
... l.append("/home/guest/file%d.txt" % i)
... return l
...
>>> def f1():
... outcome = []
... l = form()
... for p in l:
... outcome.append(func(p, "prefix_"))
... return outcome
...
>>> def f2():
... outcome = []
... l = form()
... for p in l:
... outcome.append(func2(p, "prefix_"))
... return outcome
...
>>> from timeit import Timer as reg
>>> t1 = reg(f1)
>>> t2 = reg(f2)
>>> t1.repeat(3, 1)
[0.06797289848327637, 0.04929399490356445, 0.05050206184387207]
>>> t2.repeat(3, 1)
[0.15523314476013184, 0.1336510181427002, 0.13914895057678223]
>>>
да, path поуматнее будет, тем более, что он для этого и предназначен