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的时候,值都是一样的,

可灵AI限时福利速度领取>>


软件催更及1对1人工答疑支持: https://nuowa.net/1806
赞(0) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

支付宝发现金红包了!支付宝的羊毛快来薅💰️💰️-诺瓦小站

支付宝发现金红包了!支付宝的羊毛快来薅💰️💰️

支付宝小荷包搞活动啦,新用户加入立得2元无门槛现金红包。 支付宝小荷包是支付宝推出的一款便捷的零钱管理工具,适合日常小额支付和理财。 什么是支付宝小荷包? 支付宝小荷包,简单来说,就像是你在支付宝里的“私人金库”。它不仅支持快速转账、收款,...

美团官方发福利,吃喝玩乐外卖神券天天领-诺瓦小站

美团官方发福利,吃喝玩乐外卖神券天天领

美团官方发福利了,加美团企业微信,每天免费领各种吃喝玩乐神券,领取福利流程如下: 1、微信扫码登录↓↓↓ 2、长按添加美团企业微信 3、天天领券 每日签到领取更多红包 更有超多促销活动,限时活动,低价爆品等,让你放肆嗨吃嗨喝!

可灵AI会员专属优惠邀请码,限时福利领取-诺瓦小站

可灵AI会员专属优惠邀请码,限时福利领取

可灵AI发福利了,通过专属优惠邀请码 6BZPEJK83JZ9 可额外获得50%灵感值。 现在图片、音乐、视频等等,啥都可以用AI生成,可灵AI就是快手旗下非常强大的一个AI内容创作平台,功能多样,效果强大。我最近半年几乎每周都会使用多次,...

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

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

支付宝扫一扫

微信扫一扫