在一个循环中分配增量文件名
Assigning incremental filenames within a cycle
我有一个函数可以拍摄图像并为其指定文件名。该函数是获取多个图像文件的循环的一部分:
def cameracycle(self):
print "cam cycle start"
self.capture(30)
print "cam cycle sleep"
sleep(270)
print "cam cycle second capture"
self.capture(30)
def capture (self,length):
self.camera.start_recording('1.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
每次调用 'capture' 程序都会覆盖文件“1.h264”。怎么写才能让文件名递增?
谢谢!
您可以使用全局变量 video_count
来跟踪下一个数字。
video_count = 0
def capture (self,length):
video_count+=1
self.camera.start_recording(str(video_count) + '.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
您可能会发现将其作为函数的属性会更简洁,如下所示:
def capture (self,length):
capture.video_count+=1
self.camera.start_recording(str(video_count) + '.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
capture.video_count = 0
您可以使用全局变量:
currentid = 0
def capture(self, length):
global currentid
currentid += 1
self.camera.start_recording(str(currentid) + '.h264')
...
您可以通过这种方式向您的 class 添加一个捕获计数器:
class MyClassName(object):
counter = 0
def cameracycle(self):
print "cam cycle start"
self.capture(30)
print "cam cycle sleep"
sleep(270)
print "cam cycle second capture"
self.capture(30)
def capture (self,length):
MyClassName.counter += 1
self.camera.start_recording('{}.h264'.format(MyClassName.counter))
self.camera.wait_recording(length)
self.camera.stop_recording()
我有一个函数可以拍摄图像并为其指定文件名。该函数是获取多个图像文件的循环的一部分:
def cameracycle(self):
print "cam cycle start"
self.capture(30)
print "cam cycle sleep"
sleep(270)
print "cam cycle second capture"
self.capture(30)
def capture (self,length):
self.camera.start_recording('1.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
每次调用 'capture' 程序都会覆盖文件“1.h264”。怎么写才能让文件名递增?
谢谢!
您可以使用全局变量 video_count
来跟踪下一个数字。
video_count = 0
def capture (self,length):
video_count+=1
self.camera.start_recording(str(video_count) + '.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
您可能会发现将其作为函数的属性会更简洁,如下所示:
def capture (self,length):
capture.video_count+=1
self.camera.start_recording(str(video_count) + '.h264')
self.camera.wait_recording(length)
self.camera.stop_recording()
capture.video_count = 0
您可以使用全局变量:
currentid = 0
def capture(self, length):
global currentid
currentid += 1
self.camera.start_recording(str(currentid) + '.h264')
...
您可以通过这种方式向您的 class 添加一个捕获计数器:
class MyClassName(object):
counter = 0
def cameracycle(self):
print "cam cycle start"
self.capture(30)
print "cam cycle sleep"
sleep(270)
print "cam cycle second capture"
self.capture(30)
def capture (self,length):
MyClassName.counter += 1
self.camera.start_recording('{}.h264'.format(MyClassName.counter))
self.camera.wait_recording(length)
self.camera.stop_recording()