python - 对字符串进行编码或强制需要在此文件中对字符串进行编码的调用在哪里?

标签 python string encoding file-io pyqt

我知道这可能看起来粗鲁、刻薄或不礼貌,但我需要一些帮助来尝试找出为什么我无法调用 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/

相关文章:

string - bash "date"返回特定日期字符串的 "invalid date"错误

java - java去除所有空格的方法

python - 如何最好地在 python 中创建 Lorenz Attractor 的填充体积以进行体积渲染

python - 作业不是由 APScheduler 的 BackgroundScheduler 执行的

python - 读取一些文件并通过 setter 传递给构造函数

javascript - 如何在mysql数据库中存储多维javascript数组

json - 参数 Encoder Failed because invalidRootObject?

python - 运行时警告 : divide by zero encountered in log (stats. boxcox)

R 通过将列名与字符串列表匹配来重新排序矩阵列

javascript - 何时使用 btoa()、atob()、encodeURIComponent() 和 decodeURIComponent()?