For the bitstypes, you can do `[read(fh, UInt16)]` to be a bit more concise.
On Wed, Sep 30, 2015 at 12:31 PM David McInnis <[email protected]> wrote: > Sorry for the slow response, was called away. > > As a starting place I'll try to stick with the builtin routines first. > With Stefan's idea I've got something that works though I don't see a way > to make it more.. ummm... elegant. > > Here's where I'm at: > myfile = "dnp.sam" > dnp = { "File" => myfile } > > fh = open(myfile, "r") > > dnp["Label"] = bytestring(readbytes(fh, 4)) > dnp["Version"] = reinterpret( Uint16, readbytes(fh, 2) ) > dnp["Revision"] = reinterpret( Uint16, readbytes(fh, 2) ) > dnp["Date"] = bytestring(readbytes(fh, 28)) > # and so on for 30 other variables > > close(fh) > > > Any suggestions? > > @Tom : I love how clean your code looks. > @gggg : We may be after the same thing. > > > > > On Thursday, September 17, 2015 at 9:09:15 PM UTC-4, David McInnis wrote: >> >> I'm in the process of switching from python to julia and have gotten >> stuck for a couple of days trying to read a, for me, typical data file. >> >> In python I'd create a C-style format, open the file and read the data. >> I don't see an equivalent method in Julia. >> >> Ex: >> Using a data structure of something like: "<4sii28s4i" >> I'd figure out the size of the structure, point to the beginning byte, >> and then unpack it. >> >> In Julia it looks like *maybe* I could make a data type to do this, but I >> can't figure out how. >> There's also StrPack.jl, but it too is a little beyond what I understand. >> >> I work with a lot of different instruments, each with its own file >> format. Usually I only need to read these files. After processing I'll >> save everything into an hdf5 file. >> >> Thanks, David. >> >>
