嗨,我正在尝试从程序生成的文件中提取一些文本行,并使用python以不同的格式写入另一个文本文件。在
以下是我目前所掌握的情况:
import os
import glob
path="D:\Programming\Python\Examples\Home\GainWizard\MassLynx\VxWorks\TargetRegistryFiles"
os.chdir(path)
print os.getcwd()
print os.listdir(path)
filelist = os.listdir(os.getcwd())
filelist = filter(lambda x: not os.path.isdir(x), filelist)
newest = max(filelist, key=lambda x: os.stat(x).st_mtime)
print newest
f = open(newest,'r')
data = f.readlines()
print data
这会将所有文本添加到列表中
我所拥有的是
^{pr2}$我需要的是
START_TARGET_REGISTRY
Detector Gain Negative:a,1.087668e-021
Detector Gain Negative:b,8.536190
Detector Gain Negative:High Gain,392.233021
Detector Gain Negative:Low Gain,76.782164
Detector Gain Postitve:a,4.061385e-021
Detector Gain Postitve:b,8.398445
Detector Gain Postitve:High Gain,610.368775
Detector Gain Postitve:Low Gain,122.669833
END_TARGET_REGISTRY
谢谢
有些事情还不太清楚,比如是否需要更多的参数而不仅仅是“检测器增益”参数,还是数字的来源(因为它们不会出现在示例中)。在
但是,这可能会让您到达需要的位置:
由于数据的格式似乎是
CATEGORY_1:KEY_1,VALUE_1,CATEGORY_2:KEY_2,VALUE_2...
,所以我们用split方法将数据分解为每个逗号处的字段。在然后我们遍历每个字段,寻找一个:字符,它告诉我们正在读取一个
CATEGORY:KEY
字段。在一旦我们有了
CATEGORY:KEY
字段,我们就知道下一个字段将是关联的值。所以我们将其添加到Python字典中,它将键映射到值。{I在字典中选择了}字段的顺序。在最后,我们通读我们构建的字典,寻找“检测器增益”字段。然后我们将它们打印到一个输出文件中—您可以看到我们如何用上下文管理器打开它进行编写。在
如果您使用的是python2,那么也要执行
from __future__ import print_function
。在相关问题 更多 >
编程相关推荐