Lionel schrieb:
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?

This is written very slowly, so you can read it better:

Please post the traceback.

Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to