You should close the file explicitly.
fd = file('C:/'+filename, 'rb')
merger.append(PdfFileReader(fd))
fd.close()
os.remove('C:/'+filename)
A safer version:
fd = None
try:
fd = file('C:/'+filename, 'rb')
merger.append(PdfFileReader(fd))
finally:
if fd: fd.close()
if os.path.exists('C:/'+filename): os.remove('C:/'+filename)
Which can be simplified in Python 2.5+ as:
with file('C:/'+filename, 'rb') as fd:
merger.append(PdfFileReader(fd))
if os.path.exists('C:/'+filename): os.remove('C:/'+filename)
Which will cause python to close the file automagically.