[Info-vax] Fun with file attribrutes

Forster, Michael mforster at mcw.edu
Fri Dec 23 19:30:04 EST 2011


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