【发布时间】:2010-05-19 07:45:16
【问题描述】:
我有一个 wxPython 应用程序。我正在使用 GetValue() 从文本框中获取目录路径。
我注意到在尝试将此字符串写入变量时:
"C:\Documents and Settings\tchan\Desktop\InputFile.xls",
python 将字符串视为
'C:\\Documents and Settings\tchan\\Desktop\\InputFile.xls'(“设置”和“用户名”之间缺少斜线)。
更多信息:
目录路径字符串由“打开文件”对话框创建,该对话框创建一个标准的“选择文件”对话框,您可以在文本处理器的任何“打开”函数中看到。该字符串被写入文本框,稍后在主线程开始时读取(以防用户想要更改它)。
编辑:我意识到问题出在 '\t' 被视为“制表符”而不是正常的正斜杠。但是我不知道如何解决这个问题,因为
【问题讨论】:
-
等等,你是说 wx 控件给了你那个断线?
-
我正在使用 wxPython 模块来创建 GUI。我有一个“打开文件”按钮,用于选择桌面上的文件,它返回上面提到的字符串。 (“C:\Documents and Settings\tchan\Desktop\InputFile.xls”)。这个字符串被传递到应用程序 GUI 上的文本框,我还将它读入一个变量以供以后保存我的文件。
-
您能否发布您使用的代码并指出字符串错误的最早点?
-
基本上你如果执行 x = 'C:\Documents and Settings\tchan\Desktop\InputFile.xls' 然后打印 x 你就会明白我的意思
-
你在使用 eval 还是什么?您看到的行为发生在 Python 解释器尝试评估字符串文字时,而不是在它对现有字符串变量执行操作时。也可以通过添加 r 来抑制它:x=r'C:\Documents and Settings\tchan\Desktop\InputFile.xls'
标签: python string wxpython escaping