使用python解析文件的最佳方法

时间:2017-07-17 21:35:16

标签: python parsing

我很感激有关如何解析文件的一些建议。我有一个由另一方生成的文件,它是一个数据转储。我宁愿使用python来解析文件,但如果基于C的方法会更容易,我会使用它。该文件为ascii文本,格式为:

Sequence { 
 Target ManualDump
 Camera xxxx
 Timestamp "20170623133425"
 ID NULL
 FrameSize.x 512
 FrameSize.y 512
 Frames 
[ { 
 SequenceNumber 0
 frameStart "23/06/2017 13:32:29.707459"
 Stars 
[ 
 ] } { 
 SequenceNumber 1
 frameStart "23/06/2017 13:32:34.767027"
 Stars 
[ { 
 Catalog "YYYYY" 
 Index 13016559
 Name NULL 
} { 
 Catalog "YYYYY" 
 Index 13016572
 Name NULL 
} 
 ] } { 
 SequenceNumber 2
 frameStart "23/06/2017 13:32:39.826595"
 Stars 
[ { 
 Catalog "YYYYY" 
 Index 13016559
 Name NULL 
} { 
 Catalog "YYYYY" 
 Index 13016572
 Name NULL 
} 
 ] }
] }

我有序列,帧,星等的定义,例如Frame是:

Frame
{
    SequenceNumber INTEGER
    FrameStart STRING                                            
    FrameStop STRING                                             
    FieldDerotationDegrees FLOAT                                 
    BoresightDegrees STRUCTURE TelescopeCoord                    
    BoresightSkyPos STRUCTURE SkyCoord                           
    Stars ARRAY STRUCTURE Star                                   
    BoresightCoord STRUCTURE PixelCoord                          
}

我已经修剪了一些细节以适应,但我认为我没有删除任何重要的东西。

我可能会用一个已编写的解析器来解析这个文件,但我想知道是否有人可以推荐一个似乎适合这项工作的软件包/工具。

谢谢。

1 个答案:

答案 0 :(得分:1)

这看起来是pyparsing

的自然候选人