字符串打印错误的字符.i.e。 python interpreter以错误的方式接受字符串

时间:2016-12-20 12:26:41

标签: 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 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

2 个答案:

答案 0 :(得分:2)

在字符串前面使用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_out),你可以这样做:

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

答案 1 :(得分:0)

你应该在string literals中转义反斜杠:

mailString = ".\\Attachments\\Treated\\2026-11-22\\ISCD\\ACCEPT-A350"