我刚开始使用/学习Python并且有一些问题。
我有一个由报告工具生成的文本文件。 该文件包含一些这样的东西。有很多东西基本上遵循下面写的格式。
格式= {
WINDOW_TYPE = “表格”,
表格= {Num_row_labels = 5 } }
此文件中有命名值属性。 例如,Window_Type是具有值Tabular的属性的名称。 同样,对于Tabular命名属性,其值为5。
我希望能够做的是打开文件。
我在Eclipse 3.7.2 IDE中使用Python 3.2。
对于测试部分,我在IDE中导入了我的文本文件,并使用下面的代码来读取文件。将来我应该能够遍历扩展名为mrk的文件所在的文件夹。(这将是一个已知的目录,因为我们将这些文件保存在那里。)请帮助我。非常感谢!
import os.path
fn = os.path.join(os.path.dirname(__file__), 'Multitab.mrk')
with open(fn, 'r') as file:
print(file.read())
答案 0 :(得分:0)
请注意,这个答案是非常脏的黑客。这种格式几乎类似于JSON格式,这促使我编写了一个RE,它将转换字符串,以便json解析器可以对其进行干净的解析。这就是我所做的:
import re
import json
s = """Format= {
Window_Type="Tabular",
Tabular= { Num_row_labels=5 } }"""
s = "{" + re.sub(r'([a-zA-Z0-9_]+)=',r'"\1":', s) + "}"
obj = json.loads(s)
if obj['Format']['Window_Type'] == "Tabular":
print "Its tabular!"
numrows = obj['Format']['Tabular']['Num_row_labels']
print "Numrows:", numrows
if numrows >= 5:
print "Print this fileName"
输出:
Its tabular!
Numrows: 5
Print this fileName