On Feb 2, 12:10 pm, Mike Driscoll <kyoso...@gmail.com> wrote: > On Feb 2, 1:20 pm, Lionel <lionel.ke...@gmail.com> wrote: > > > > > > > On Feb 2, 10:41 am, Mike Driscoll <kyoso...@gmail.com> wrote: > > > > On Feb 2, 12:36 pm, Lionel <lionel.ke...@gmail.com> wrote: > > > > > Hi Folks, Python newbie here. > > > > > I'm trying to open (for reading) a text file with the following > > > > filenaming convension: > > > > > "MyTextFile.slc.rsc" > > > > > My code is as follows: > > > > > Filepath = "C:\\MyTextFile.slc.rsc" > > > > FileH = open(Filepath) > > > > > The above throws an IOError exception. On a hunch I changed the > > > > filename (only the filename) and tried again: > > > > > Filepath = "C:\\MyTextFile.txt" > > > > FileH = open(Filepath) > > > > > The above works well. I am able to open the file and read it's > > > > contents. I assume to read a file in text file "mode" the parameter is > > > > scanned for a ".txt" extension, otherwise the Python runtime doesn't > > > > know what version of "open(...)" to invoke. How do I pass the original > > > > filename (MyTextFile.slc.rsc) and get Python to open it as a text > > > > file? Thanks in advance everyone! > > > > The extension shouldn't matter. I tried creating a file with the same > > > extension as yours and Python 2.5.2 opened it and read it no problem. > > > I tried it in IDLE and with Wing on Windows XP. What are you using? > > > What's the complete traceback? > > > > Mike- Hide quoted text - > > > > - Show quoted text - > > > Hi Mike, > > > maybe it's not a "true" text file? Opening it in Microsoft Notepad > > gives an unformatted view of the file (text with no line wrapping, > > just the end-of-line square box character followed by more text, end- > > of-line character, etc). Wordpad opens it properly i.e. respects the > > end-of-line wrapping. I'm unsure of how these files are being > > generated, I was just given them and told they wanted to be able to > > read them. > > > How do I collect the traceback to post it? > > The traceback should look something like this fake one: > > Traceback (most recent call last): > File "<pyshell#3>", line 1, in <module> > raise IOError > IOError > > Just copy and paste it in your next message. The other guys are > probably right in that it is a line ending issue, but as they and I > have said, Python shouldn't care (and doesn't on my machine). > > Mike- Hide quoted text - > > - Show quoted text -
Okay, I think I see what's going on. My class takes a single parameter when it is instantiated...the file path of the data file the user wants to open. This is of the form "someFile.slc". In the same directory of "someFile.slc" is a resource file that (like a file header) contains a host of parameters associated with the data file. The resource file is of the form "someFile.slc.rsc". So, when the user creates an instance of my class which, it invokes the __init__ method where I add the ".rsc" extension to the original filename/path parameter that was passed to the class "constructor". For example: Note: try-catch blocks ommitted. class MyUtilityClass: def __init__(self, DataFilepath): Resourcepath = DataFilepath + ".rsc" DataFileH = open(DataFilepath) ResourceFileH = open(Resourcepath) Invoking this from the Python shell explicitly is no problem i.e. "TestH = open("C:\\TestResourceFile.slc.rsc") works. BUT...something is lost when I append the ".rsc" extension to the DataFilePath parameter as above. When the __init__ method is invoked, Python will open the data file but generates the exception with the "open (Resourcepath)" instruction. I think it is somehow related to the backslashes but I'm not entirely sure of this. Any ideas? Thanks for the help folks. -- http://mail.python.org/mailman/listinfo/python-list