Josh
Josh

Reputation: 2399

where is the call to encode the string or force the string to need to be encoded in this file?

I know this may seem rude or mean or unpolite, but I need some help to try to figure out why I cant call window.loadPvmFile("f:\[email protected]\common\models\a300\amu\dummy.pvm") exactly like that as a string. Instead of doing that, it gives me a traceback error:

Traceback (most recent call last):
    File "F:\Python Apps\pvmViewer_v1_1.py", line 415, in <module>
        window.loadPvmFile("f:\games\@DD.ATC3.Root\common\models\a300\amu\dummy.pvm")
    File "F:\Python Apps\pvmViewer_v1_1.py", line 392, in loadPvmFile
        file1 = open(path, "rb")
IOError: [Errno 22] invalid mode ('rb') or filename:
'f:\\games\\@DD.ATC3.Root\\common\\models\x07300\x07mu\\dummy.pvm'

Also notice, that in the traceback error, the file path is different. When I try a path that has no letters in it except for the drive letter and filename, it throws this error:

    Traceback (most recent call last):
File "F:\Python Apps\pvmViewer_v1_1.py", line 416, in <module>
    loadPvmFile('f:\0\0\dummy.pvm')
File "F:\Python Apps\pvmViewer_v1_1.py", line 393, in loadPvmFile
    file1 = open(path, "r")
TypeError: file() argument 1 must be encoded string without NULL bytes, not str

I have searched for the place that the encode function is called or where the argument is encoded and cant find it. Flat out, I am out of ideas, frustrated and I have nowhere else to go. The source code can be found here: PVM VIEWER

Also note that you will not be able to run this code and load a pvm file and that I am using portable python 2.7.3! Thanks for everyone's time and effort!

Upvotes: 1

Views: 539

Answers (1)

Burhan Khalid
Burhan Khalid

Reputation: 174662

\a and \0 are escape sequences. Use r'' (or R'') around the string to mark it as a raw string.

window.loadPvmFile(r"f:\[email protected]\common\models\a300\amu\dummy.pvm")

Upvotes: 2

Related Questions