source: sans/utils/bt5/ICPGui/ICPBufferUtils.py @ 463

Last change on this file since 463 was 463, checked in by ajj, 14 years ago
  • Property svn:executable set to *
File size: 1.7 KB
RevLine 
[149]1#!/usr/bin/env python
2
3#Read and write ICP Buffer files
4
5import sys
6import struct
7
8formatstr = '<50sh21f4s4i4f148x'
9
10
11def readIBufferFile(inputfile):
12       
13        f = open(inputfile, 'rb')
14        data = f.read()
15        f.close()
16       
17        #print struct.calcsize(formatstr)
[463]18        bufs = {}
[149]19       
20        for i in range(30):
[463]21                bufs[i] = struct.unpack(formatstr,data[i*320:(i+1)*320])
[149]22
23                #print line
24               
[463]25        return bufs
[149]26
[463]27
28def writeIBufferFile(bufs,outputfile):
29
30        data = "" 
31
32        for line in bufs:
33                data = data+struct.pack(formatstr,bufs[line][0],
34                                                  bufs[line][1],       
35                                                  bufs[line][2],       
36                                                  bufs[line][3],       
37                                                  bufs[line][4],       
38                                                  bufs[line][5],       
39                                                  bufs[line][6],       
40                                                  bufs[line][7],       
41                                                  bufs[line][8],       
42                                                  bufs[line][9],       
43                                                  bufs[line][10],       
44                                                  bufs[line][11],       
45                                                  bufs[line][12],       
46                                                  bufs[line][13],       
47                                                  bufs[line][14],       
48                                                  bufs[line][15],       
49                                                  bufs[line][16],       
50                                                  bufs[line][17],       
51                                                  bufs[line][18],       
52                                                  bufs[line][19],       
53                                                  bufs[line][20],       
54                                                  bufs[line][21],       
55                                                  bufs[line][22],       
56                                                  bufs[line][23],       
57                                                  bufs[line][24],       
58                                                  bufs[line][25],       
59                                                  bufs[line][26],       
60                                                  bufs[line][27],       
61                                                  bufs[line][28],       
62                                                  bufs[line][29],       
63                                                  bufs[line][30],       
64                                                  bufs[line][31])       
65
66        f = open(outputfile, 'wb')
67        f.write(data)
68        f.close()       
69
70
[149]71if __name__ == "__main__":
72        if len(sys.argv) > 1:
[463]73                data = readIBufferFile(sys.argv[1])
[149]74        else:
[463]75                data = readIBufferFile("IBUFFER.BUF")
76
77        #for line in data:
78        #       print data[line]
79
80        writeIBufferFile(data,"TEST.BUF")
Note: See TracBrowser for help on using the repository browser.