我有一个文件(filename.txt(,它有多个key=value条目
我想写一个python脚本,它将执行以下操作:
- 读取文件的每一行
- 对于每一行,将key提取到名为"key"的变量中,将value提取到一个名为"value"的变量
- 打印变量'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('=')))