使用Python解析shell文件输出

4 python

我有一个包含数据的文件.该文件是从shell脚本文件生成的输出:

|a                     |869         |
|b                     |835         |
|c                     |0           |
|d                     |0           |
|e                     |34          |
|f                     |3337     
Run Code Online (Sandbox Code Playgroud)

我怎么能从这得到a = 869?

Pao*_*ino 9

你可以这样做:

output = {}
for line in open("myfile"):
    parts = line.split('|')
    output[parts[1].strip()] = parts[2].strip()

print output['a'] // prints 869
print output['f'] // prints 3337
Run Code Online (Sandbox Code Playgroud)

或者,使用csv模块,如Eugene Morozov所建议的:

import csv
output = {}
reader = csv.reader(open("C:/output.txt"), delimiter='|')
for line in reader:
    output[line[1].strip()] = line[2].strip()

print output['a'] // prints 869
print output['f'] // prints 3337
Run Code Online (Sandbox Code Playgroud)