How to copy buffer ?

from math import pi, sin, cos
from direct.showbase.ShowBase import ShowBase
from direct.task import Task
from direct.actor.Actor import Actor
from direct.interval.IntervalGlobal import Sequence
from direct.filter.FilterManager import FilterManager
from panda3d.core import Point3
from panda3d.core import Filename,Texture
from panda3d.core import GraphicsOutput
from panda3d.core import NodePath,TextNode
from panda3d.core import CardMaker,Vec4
from pandac.PandaModules import TextureStage
 
class MyApp(ShowBase):
    def __init__(self):
        ShowBase.__init__(self)
        self.disableMouse()
 
######### Load two models.
        self.environ = self.loader.loadModel("models/environment")
        self.environ.reparentTo(self.render)
        self.environ.setScale(0.25, 0.25, 0.25)
        self.environ.setPos(-8, 42, 0)
        self.tron=Actor("models/tron",{"running":"models/tron_anim"}) # it from tut-glow-filter
        self.tron.reparentTo(render)
        self.tron.setScale(0.1)
        self.tron.setPos(0,0,1)
        self.tron.loop("running")
######### Add a task
        self.angleDegrees = 0
        self.taskMgr.doMethodLater(0.01,self.spinCameraTask, "SpinCameraTask")
       
######### About buffer and texture
        self.mybuffer = []
        self.mytexture = []
        self.fcard = []
        for i in range(0,5):
            self.mybuffer.append(base.win.makeTextureBuffer("My Buffer", 512, 512))
            self.mybuffer[i].setClearColor(Vec4(1,1,1,1))
            self.mytexture.append(self.mybuffer[i].getTexture())
            self.fcard.append(render.attachNewNode(CardMaker('card').generate()))
            self.fcard[i].setTexture( self.mytexture[i])
            self.fcard[i].reparentTo(render2d)
            self.fcard[i].show()
            self.fcard[i].setTransparency(1)
            self.fcard[i].setColor(1,1,1,0.9)
            self.fcard[i].setScale(2)
            self.fcard[i].setPos(-1,0,-1)
        
        self.mybuffer.append(base.win.makeTextureBuffer("My Buffer", 512, 512))
        self.mybuffer[5].setClearColor(Vec4(1,1,1,1))
        self.mytexture.append(self.mybuffer[5].getTexture())
        glowCamera=base.makeCamera(self.mybuffer[5], lens=base.cam.node().getLens())
 
    def spinCameraTask(self, task):
        self.angleDegrees += 0.3
        angleRadians = self.angleDegrees * (pi / 180.0)
        self.camera.setPos(20 * sin(angleRadians), -20.0 * cos(angleRadians), 3)
        self.camera.setHpr(self.angleDegrees, 0, 0)
######### Copy buffer
        for i in range(0,5):
            self.mybuffer[i]=self.mybuffer[i+1]
        return Task.again
 
app = MyApp()
app.run()

I want to copy buffer with “self.mybuffer[i]=self.mybuffer[i+1]”, but I just get a while screen.