1
source = "C:\Program Files (x86)\xxx\yyy\Agent\node.default\blr-w2k8-252\data\somefile.iso"
print source

输出:

"C:\Program Files (x86)\xxx\yyy\Agent
 ode.defaulblr-w2k8-252\data\somefile.iso"

请注意,对于\node 我有一个新行并且 deaful t\blr 消失了

我做了,source=source.replace('\\', '/') 但得到了相同的输出,甚至/n也导致了新行。

source=source.encode('string-escape')现在做了输出是别的东西

输出:

"C:\\Program Files (x86)\\xxx\\yyy\\Agent\node.default\x08lr-w2k8-252\\data\\somefile.iso"

只有一个原始字符串在工作,即

source=r"C:\Program Files (x86)\xxx\yyy\Agent\node.default\blr-w2k8-252\data\somefile.iso"

但是在我的程序中,我只有字符串变量。如何使其工作或如何将字符串变量设为 raw ?

4

2 回答 2

1

阅读转义序列。在字符串之前使用 'r' 告诉 Python 忽略转义序列并按字面意思获取字符串。当您将源代码硬编码为一个值时,它与通过调用函数分配源值时不同。如果它不起作用,请检查您正在调用的函数如何创建该路径。

于 2013-02-21T07:43:59.360 回答
1

在字符串文字之前指定“r”不会更改字符串的数据类型;它只会影响字符串文字的解释方式。因此,您的问题可能是信息收集到字符串中的方式,而不是收集后字符串的存储方式。另请注意,当您在 Python 中打印字符串时,输出会自动包含转义字符(例如“输出:”示例中的双斜杠)。该字符串仅包含一个斜杠,即使两者都显示了。

于 2013-02-21T06:21:28.743 回答