Message 53325 - Python tracker (original) (raw)

Logged In: YES user_id=50945

Yes, I read the message (and most of the thread) :)

Apologies for re-opening this bug, but I believe that something can still be done about it.

I'm using Windows 2K (SP 2), so those patches don't apply to me. Those patches merely prevent windows crashing on certain types of accesses to devices, e.g. the now well-known C:\NUL\NUL bug. They don't prevent applications from hanging when trying to access prn.txt.

Further in the thread starting at that URL, there is some discussion of possible work-arounds for safely opening/creating files. I'm not a Win32 C programmer, so I've no idea about the technical feasibility of these solutions in Python.

While I agree that the real problem is in the OS, it seems to be standard behaviour now for apps to workaround it. For example, Textpad (www.textpad.com) will just pop up a dialog saying "You cannot create this file: this name is reserved device name" or something similar. Whether they've just hard-coded a list of known names or if they're doing something more advanced I don't know.

This caused a fair bit of confusion for me recently: Python hung inexplicably in splitting a CSV file of stock data into seperate files, and one of the Australian Stock Exchange's stock symbols is "PRN". The script was extremely simple, so I eventually realised what was going on, but I dread an unwary person having to debug this problem in a larger application.

If you think this sort of ugliness doesn't belong in Python then feel free to close this bug again, and I won't feel offended :)