字符串以错误字符打印。例如。python解释器以错误的方式获取字符串

字符串以错误字符打印。例如。python解释器以错误的方式获取字符串,python,string,python-2.7,Python,String,Python 2.7,我是python新手。以下是代码我无法获得正确的字符串,我只想在以下代码中获得截止日期的字符串: def ExtractMail(): mailString=str(".\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350") print mailString index=mailString.rfind("\\",0,(mailString.rfind("\\")-1)) print index print

我是python新手。以下是代码我无法获得正确的字符串,我只想在以下代码中获得截止日期的字符串:

def ExtractMail():
    mailString=str(".\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350")
    print mailString
    index=mailString.rfind("\\",0,(mailString.rfind("\\")-1))
    print index
    print mailString[0:index]
ExtractMail()  
我得到的输出是:

.\Attachments\Treated�6-11-22\ISCD\ACCEPT-A350
29
.\Attachments\Treated�6-11-22
我正在寻找的输出

\Attachments\Treated\2016-11-22\ISCD\ACCEPT-A350
29

.\Attachments\Treated\2016-11-22

您应该在以下内容中避开反斜杠:


您应该在以下情况下避开反斜杠:


使用字符串前面的
r
按原样处理字符串:

def ExtractMail():
    mailString=str(r".\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350")
    print mailString
    index=mailString.rfind("\\",0,(mailString.rfind("\\")-1))
    print index
    print mailString[0:index]
ExtractMail() 
输出将是:

.\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350
33
.\\Attachments\Treated\2026-11-22
编辑:如果此字符串作为变量来自某个函数(让我们调用此函数
f\u out
),则可以执行以下操作:

def ExtractMail():
    mailString=str("%r" % f_out())
    print mailString
    index=mailString.rfind("\\",0,(mailString.rfind("\\")-1))
    print index
    print mailString[0:index]
ExtractMail() 

使用字符串前面的
r
按原样处理字符串:

def ExtractMail():
    mailString=str(r".\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350")
    print mailString
    index=mailString.rfind("\\",0,(mailString.rfind("\\")-1))
    print index
    print mailString[0:index]
ExtractMail() 
输出将是:

.\\Attachments\Treated\2026-11-22\ISCD\ACCEPT-A350
33
.\\Attachments\Treated\2026-11-22
编辑:如果此字符串作为变量来自某个函数(让我们调用此函数
f\u out
),则可以执行以下操作:

def ExtractMail():
    mailString=str("%r" % f_out())
    print mailString
    index=mailString.rfind("\\",0,(mailString.rfind("\\")-1))
    print index
    print mailString[0:index]
ExtractMail() 


不太清楚你在追求什么,但你应该避开你的反斜杠
\
将转义以下字符,在这种情况下,
\2
将转义数字“2”。对每个反斜杠尝试“\”。另外,如果您可以编辑您的问题以包含所需的输出(您希望字符串看起来像什么,那就好了)。
202
被视为八进制值。是的,我知道这个问题,但我无法找到解决方案。我不太确定您想要的是什么,但您可能应该避免反斜杠
\
将转义以下字符,在这种情况下,
\2
将转义数字“2”。对每个反斜杠尝试“\”。另外,如果您可以编辑您的问题以包含所需的输出(您希望字符串看起来像什么,那就太好了).
202
被视为八进制值。是的,我知道这个问题,但我找不到解决方案。如果我将mailString作为函数的参数,该怎么办?我已经尝试了您所说的,但打印时仍然得到相同的输出更新了答案。您应该使用
%r
而不是
r“{}”.format()
语法。在使用%r is“'。\\Attachments\\Treated\x816-11-22\\ISCD\\ACCEPT-A350'”之后,我得到了输出。很抱歉,不知怎的错过了这一点。经过一番挖掘,发现这是不可能的。当您从某个函数中获取字符串时,它已经被解释,并且您无法将其返回到原始状态。如果我将mailString作为函数的参数,该怎么办?我已经尝试了您所说的内容,但在打印时仍然获得相同的输出更新了答案。您应该使用
%r
而不是
r“{}”.format()
语法。在使用%r is“'。\\Attachments\\Treated\x816-11-22\\ISCD\\ACCEPT-A350'”之后,我得到了输出。很抱歉,不知怎的错过了这一点。经过一番挖掘,发现这是不可能的。当您从某个函数中获取字符串时,它已被解释,并且您无法将其返回到原始状态。抱歉,我不能这样做,实际上此字符串将作为函数的参数在变量中出现抱歉,我不能这样做,实际上此字符串将作为函数的参数在变量中出现