You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从文件名提取对应变量值?现有Python代码输出不符预期

问题分析与解决方案

你现在的代码只是从文件名里提取了变量的名字字符串(比如"happy"),但没有根据这个字符串去获取对应变量的实际值。要实现预期输出,有两种常用方式:

方式一:利用全局变量字典快速获取值

直接通过globals()函数可以访问全局作用域的变量字典,用提取到的名字字符串作为键就能拿到对应的值。修改后的代码如下:

happy = "LOL"
angry = "GRRRR"
surprised= "YUPPIE"
file_names=["happy.wav","angry.wav","surprised.wav"]

for i in file_names:
  name = i.split('.')
  name_=name[0]
  print(f'"{globals()[name_]}"')  # 用globals()获取变量值,套引号输出

方式二:用字典存储键值对(更推荐)

单独定义分散的变量不够灵活,把情绪和对应值存在字典里是更规范的做法,后续维护和扩展也更方便:

emotions = {
    "happy": "LOL",
    "angry": "GRRRR",
    "surprised": "YUPPIE"
}
file_names=["happy.wav","angry.wav","surprised.wav"]

for i in file_names:
  name_ = i.split('.')[0]
  print(f'"{emotions[name_]}"')

两种方式都能输出你想要的结果:

"LOL"
"GRRRR"
"YUPPIE"

内容的提问来源于stack exchange,提问作者M_Ozb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:15:42