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

如何将文本文件键值对转为Python变量并实现指定输出?

问题描述

我正在学习Python,现有文本文件file.txt,内容为键值对形式:

pn = FZP16WHTEPE444
cp = custpart
pd = partdesc
bq = 11,000
co = color 02
ma = material 01
mo = 1234
ln = 2227011234
mb = 38

现有Python代码如下,但直接运行会报错(因为变量未定义):

print(str(pn))
print(str(cp))
print(str(pd))
print(str(bq))
print(str(co))
print(str(ma))
print(str(mo))
print(str(ln))
print(str(mb))

需要修改脚本,读取文本文件中的字符串,输出如下内容:

FZP16WHTEPE444
custpart
partdesc
11,000
color 02
material 01
1234
2227011234
38
解决方案

给你两种实用的修改方式,按需选择:

方式一:直接逐行读取打印值

如果file.txt里的键顺序和你要输出的顺序完全一致,用这个方法最省事:

# 用with语句打开文件,自动处理关闭操作
with open('file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 去掉行首尾的空白(比如换行符),按' = '分割成键和值,只分割一次
        _, value = line.strip().split(' = ', 1)
        # 打印提取到的值
        print(value)

方式二:先存字典再按指定顺序打印

如果后续需要调整输出顺序,或者文件里的行顺序可能变动,先把键值对存进字典更灵活:

# 初始化一个空字典用来存键值对
data_dict = {}

with open('file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 分割键和值
        key, value = line.strip().split(' = ', 1)
        data_dict[key] = value

# 按照你需要的顺序打印对应的值
print(data_dict['pn'])
print(data_dict['cp'])
print(data_dict['pd'])
print(data_dict['bq'])
print(data_dict['co'])
print(data_dict['ma'])
print(data_dict['mo'])
print(data_dict['ln'])
print(data_dict['mb'])

关键说明

  • split(' = ', 1)里的1是核心,确保只分割一次,避免像color 02这种值里带空格的内容被错误拆分。
  • with语句是Python处理文件的最佳实践,不用手动写f.close(),文件会自动关闭,避免资源泄漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:48:08