Issue 27356: csv - Python tracker (original) (raw)

Hi,

I am running Canopy on Windows 7 64 bit. When I run the attached file, I get the following error:

----> 5 with open('C:\Users\Anwender\Desktop\Test\blub.txt') as csvfile: 6 dialekt = csv.Sniffer().sniff(csvfile.read(1024))

IOError: [Errno 22] invalid mode ('r') or filename: 'C:\Users\Anwender\Desktop\Test\x08lub.txt'

As you see, Python complains about the file name after it changes the file name for no reason.

The thing is, when I use a capital letter after every back slash it is fine, but I needed quite some time to figure that out. So it is very annoying for everyone encountering the problem for the first time. Also numbers at the beginning of a file name seem not to work either.

Thank you for developing Python!

(Berker beat me to it, but posting anyway since it is more detailed)

Backslashes are escape characters, and "\b" is treated as "\x08". Invalid combinations (e.g. "\A", "\D"...) automatically escape the backslash, but you shouldn't rely on this behaviour - as you can see, it can break in various ways.

To fix your issue, you can either: