Skip to main content
 首页 » 编程设计

python之解析此目录路径而不丢失斜杠

2025年05月04日18zhwl

我有一个 wxPython 应用程序。我正在使用 GetValue() 从文本框获取目录路径。

我注意到在尝试将此字符串写入变量时:

"C:\Documents and Settings\tchan\Desktop\InputFile.xls",

python 将字符串视为

'C:\\Documents and Settings\tchan\\Desktop\\InputFile.xls'(“设置”和“用户名”之间缺少斜杠)。

更多信息:

目录路径字符串由“打开文件”对话框创建,该对话框创建一个标准的“选择文件”对话框,您可以在文本处理器的任何“打开”函数中看到它。该字符串被写入文本框,稍后在主线程开始时读取(以防用户想要更改它)。

编辑:我意识到问题出在'\t'被视为“制表符”而不是正常的正斜杠。但是我不知道如何解决这个问题,因为

请您参考如下方法:

我怀疑有一种不同的方法可以从 wx 获取路径来避免这个问题,因为这似乎是一个相当普遍的问题。也就是说,有几种方法可以像您描述的那样修复损坏的路径,方法是将您拥有的字符串转换为原始字符串。

rawpath = "%r" % path 

生成的 rawpath 可能会有些困惑,因为它可能会向反斜杠添加额外的转义并给你类似的东西:

"'C:\\\\Documents and Settings\\tchan\\\\Desktop\\\\InputFile.xls'" 

虽然 os.path.normpath 似乎会清理它。

import os.path 
os.path.normpath(rawpath)