我正在制作一个程序,可以通过按钮远程记录相机上的视频,并在完成记录后将视频文件保存到外部。即使程序关闭也会增加的变量
我需要知道视频文件的名称才能访问它,并且每次视频保存时,文件中的数字都会增加。
E.g.第一个保存的视频是mov_0001,那么下一次我保存一个新的视频它是mov_0002
有没有办法让一个变量增加,它保存在最后一个值是什么,所以即使我关闭程序,再次打开它将会是上一次程序运行的结果?
我正在制作一个程序,可以通过按钮远程记录相机上的视频,并在完成记录后将视频文件保存到外部。即使程序关闭也会增加的变量
我需要知道视频文件的名称才能访问它,并且每次视频保存时,文件中的数字都会增加。
E.g.第一个保存的视频是mov_0001,那么下一次我保存一个新的视频它是mov_0002
有没有办法让一个变量增加,它保存在最后一个值是什么,所以即使我关闭程序,再次打开它将会是上一次程序运行的结果?
您可以使用file方法存储下一个使用哪个计数器。
使用正常的文本文件或Pickle文件或Json文件来存储视频文件名的计数器。
演示:
酸洗 - 如何存储泡菜文件值。
>>> import pickle
>>> store_file = "file_counter.txt"
>>> counter = 10
>>> fp = open(store_file, "w")
>>> pickle.dump(counter, fp)
>>> fp.close()
Unpickling-如何从pickle文件中提取值。
>>> fp_r = open(store_file, "r")
>>> old_counter = pickle.load(fp_r)
>>> old_counter
10
>>>
注:如果不使用默认值1。
这在他的文件名更大计数器Demo of Pickling and Unpickling
查找文件名。从位置,可以通过使用os.lidtdir("$Vedio_location_path$")
list sort
方法或sorted
功能排序,从1点文件清单列表存储视频文件
演示:
>>> video_files = ["mov_0001", "mov_0002", "mov_0005", "mov_0003"]
>>> video_files.sort()
>>> video_files
['mov_0001', 'mov_0002', 'mov_0003', 'mov_0005']
>>> last_file = video_files[-1]
>>> counter = int(last_file.split("_")[1])
>>> counter
5
注:
E.g
我。假设有["mov_0001", "mov_0002", "mov_0003", "mov_0004"]
文件。
ii。现在我们删除mov_0003
文件,因此名单是["mov_0001", "mov_0002", "mov_0004"]
III。根据上述算法中使用计数器的值将是4
,但你可以修改算法,以获取删除文件计数器。
在这篇文章中唯一的问题的答案是**是**。怎么办?为了得到高质量的答案提供重要的是[高品质问题(http://stackoverflow.com/help/how-to-ask),包括建立一个[最小,完整,可验证](HTTP:/ /stackoverflow.com/help/mcve)示例。 –