每行读取文件并将键和值提取到变量中的脚本



我有一个文件(filename.txt(,它有多个key=value条目
我想写一个python脚本,它将执行以下操作:

  1. 读取文件的每一行
  2. 对于每一行,将key提取到名为"key"的变量中,将value提取到一个名为"value"的变量
  3. 打印变量'key'&'值',然后转到第2行

样本文件-

firstname=john
lastname=gates
age=12

预期输出-

firstname john
lastname gates
age 12

我使用了下面的regex和sed命令,效果很好。在写入for循环和捕获每行的2个变量中的值时遇到问题

cat filename.txt | sed 's/.*=//'
cat filename.txt | sed 's/=.*//'

您需要读取文件并将值保存为字典:

kvps = {}
with open(file, 'r') as f:
kvps = dict(line.strip().split('=') for line in f)

现在,要打印密钥和值,只需使用

for k,v in kvps.items():
print(f"{k} {v}")
# firstname john
# lastname gates
# age 12

如果你只想打印密钥和值,你可以使用

with open(file, 'r') as f:
for line in f:
print(" ".join(line.strip().split('=')))

最新更新