我知道这可能看起来粗鲁、刻薄或不礼貌,但我需要一些帮助来尝试找出为什么我无法调用 window.loadPvmFile("f:\games@DD.ATC3.Root\common\models\a300\amu\dummy.pvm")
与字符串完全相同。相反,它给了我一个回溯错误:
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'
另请注意,在回溯错误中,文件路径是不同的。当我尝试使用除驱动器号和文件名之外没有任何字母的路径时,它会抛出此错误:
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
我已经搜索了调用编码函数的位置或对参数进行编码的位置,但找不到它。平心而论,我没有主意,沮丧,我无处可去。源代码可以在这里找到:PVM VIEWER
另请注意,您将无法运行此代码并加载 pvm 文件,并且我使用的是可移植 python 2.7.3!感谢大家的时间和努力!
最佳答案
\a
和 \0
是转义序列。在字符串周围使用 r''
(或 R''
)将其标记为 raw string .
window.loadPvmFile(r"f:\games@DD.ATC3.Root\common\models\a300\amu\dummy.pvm")
关于python - 对字符串进行编码或强制需要在此文件中对字符串进行编码的调用在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10747964/