[Info-vax] Fun with file attribrutes
Forster, Michael
mforster at mcw.edu
Fri Dec 23 19:33:32 EST 2011
Sorry if double posted. I can't successfully get many posts through.
I'm guessing this was a file containing HL7 formatted data, created on a different system type, and would work if transferred via ASCII mode FTP.
Correct?
On Dec 23, 2011, at 4:25 PM, "Jojimbo" <jjgessling at gmail.com> wrote:
> One of our programmers came to me for help reading a file that he had
> received via SFTP. This file had the records delimited by ~
> characters. Full directory information:
>
> $ dir/full test.txt
>
> Directory USERS:[USER.998]
>
> TEST.TXT;1 File ID: (33285,3,0)
> Size: 147KB/341KB Owner: [IDXUSER,USER]
> Created: 23-DEC-2011 13:26:41.92
> Revised: 23-DEC-2011 13:26:41.94 (1)
> Expires: <None specified>
> Backup: <No backup recorded>
> Effective: <None specified>
> Recording: <None specified>
> Accessed: <None specified>
> Attributes: <None specified>
> Modified: <None specified>
> Linkcount: 1
> File organization: Sequential
> Shelved state: Online
> Caching attribute: Writethrough
> File attributes: Allocation: 683, Extend: 0, Global buffer count: 0
> No version limit
> Record format: Stream, maximum 0 bytes, longest 32767 bytes
> Record attributes: Carriage return carriage control
> RMS attributes: None
> Journaling enabled: None
> File protection: System:RWED, Owner:RWED, Group:RE, World:
> Access Cntrl List: None
> Client attributes: None
>
> Total of 1 file, 147KB/341KB
>
> I tried to read it in Python and got this result:
>
> $ python
> Python 2.7.2+ (default, Nov 7 2011, 14:45:22) [DECC] on OpenVMS
> Type "help", "copyright", "credits" or "license" for more information.
>>>> f = open('test.txt')
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> IOError: [Errno 65535] !ul byte record too large for user's buffer:
> 'test.txt'
> <ctrl>Z
>
> After fooling around for quite a while with convert and setting file
> attributes I did this and was able to read the file and split it based
> on the ~ characters no problem.
>
> $ set file/attr=(rfm:udf,rat=none) test.txt
> $ python
> Python 2.7.2+ (default, Nov 7 2011, 14:45:22) [DECC] on OpenVMS
> Type "help", "copyright", "credits" or "license" for more information.
>>>> f = open('test.txt')
>>>> s = f.read()
>
> I then split the string s into records like:
>
>>>> lines = s.split('~')
>
> Which gave me an array (lines) that I could write out as a file.
>
> Huh? What did I do? I guess as long as the file can fit into a
> Python string then I'm OK.
> But I find the whole thing puzzling but I am happy that it solved my
> problem.
>
> Regards, Jim
> _______________________________________________
> Info-vax mailing list
> Info-vax at rbnsn.com
> http://rbnsn.com/mailman/listinfo/info-vax_rbnsn.com
More information about the Info-vax
mailing list