AI软件下载
有趣网站推荐及实用软件下载

python变量被传递后值被改变,原来的变量无法多次引用,生成器无法多次迭代

今天在调试一个python应用的时候发现了一个问题,先看代码如下:

segments,_ = model.transcribe(audio_file_name, beam_size=args.beam_size)
    if('txt' in args.output_type):
        outputtxt(args.output_path,bf,segments)
    if('srt' in args.output_type):
        outputsrt(args.output_path,bf,segments) 

segments变量依次为outputtxt,outputsrt两个函数引用,不管是先执行哪个函数,总之后执行的那个函数再使用segments的时候,segments的值被改变了,后来又试了一下

array = copy.deepcopy(array)

仍然没有作用,然后print(f”segments: {segments}”),看到输出如下信息:

segments: <generator object WhisperModel.generate_segments at 0x000001F2F518A3B0>

原来segments是一个生成器,生成器只能被迭代一次,如果在之前的函数中已经迭代过这个生成器,那么后面那个函数再尝试迭代时,它就为空了。所以第二个函数永远无法再引用segments,

解决方法:将segments生成器转换为一个列表,这样就可以多次迭代了,只需要再segments下面添加一行代码即可:

segments = list(segments)

这样下面的多个函数再调用segments的时候,值都是一样的,

电脑不给力运行不了?试试高配云电脑>>
如需1对1人工答疑支持
赞(0) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

项目实操变现思路分享之AI绘画-诺瓦小站

项目实操变现思路分享之AI绘画

本次和大家分享的实操项目变现思路是AI绘画相关的,虽然AI绘画已经火了很久了,但是仍有很多玩法,有了其它一些AI工具的加持,操作起来也更容易,项目具体内容请看PDF文档。 教程链接: https://afdian.com/p/982e793...

项目实操变现思路分享之AI视频-诺瓦小站

项目实操变现思路分享之AI视频

目前AI视频生成技术有了比较大的进步,AI视频现在已经很流畅丝滑,视频效果也很好,用户也比较喜欢看。各短视频平台AI视频的流量都很大,我们可以通过AI工具创建AI视频来获取流量变现,操作简单上手较快。下面分享一下AI视频的实操变现思路。 项...

AI软件实战变现思路分享之AI音乐-诺瓦小站

AI软件实战变现思路分享之AI音乐

本次和大家分享的AI软件实战变现项目是AI音乐相关的,前两天和大家分享了两个AI音乐生成软件,顺便接着分享一下AI音乐的实战变现思路,项目实操教程下载链接: https://afdian.com/p/99e81c38fe2f11efb2b4...

觉得文章对你有帮助就打赏一下作者

非常感谢你的打赏,我将有更多的动力继续提供优质内容,让我们一起创建更加美好的世界!

支付宝扫一扫

微信扫一扫