On Feb 2, 1:07 pm, "Diez B. Roggisch" <de...@nospam.web.de> wrote:
This is written very slowly, so you can read it better: Please post without sarcasm. This is the output from my Python shell: >>> DatafilePath = "C:\\C8Example1.slc" >>> ResourcefilePath = DatafilePath + ".rsc" >>> DatafileFH = open(DatafilePath) >>> ResourceFh = open(ResourcefilePath) >>> DatafilePath 'C:\\C8Example1.slc' >>> ResourcefilePath 'C:\\C8Example1.slc.rsc' It seems to run without trouble. However, here is the offending code in my class (followed by console output): class C8DataType: def __init__(self, DataFilepath): try: DataFH = open(DataFilepath, "rb") except IOError, message: # Error opening file. print(message) return None ResourceFilepath = DataFilepath + ".src" print(DataFilepath) print(ResourceFilepath) # Try to open resource file, catch exception: try: ResourceFH = open(ResourceFilepath) except IOError, message: # Error opening file. print(message) print("Error opening " + ResourceFilepath) DataFH.close() return None Console output when invoking as "someObject = C8DataType("C:\ \C8Example1.slc")" : C:\C8Example1.slc C:\C8Example1.slc.src [Errno 2] No such file or directory: 'C:\\C8Example1.slc.src' Error opening C:\C8Example1.slc.src Thank you > 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- Hide quoted text - > > - Show quoted text - -- http://mail.python.org/mailman/listinfo/python-list