Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何将转义序列转换为字符串文本_Python_String_Encoding_Escaping - Fatal编程技术网

Python-如何将转义序列转换为字符串文本

Python-如何将转义序列转换为字符串文本,python,string,encoding,escaping,Python,String,Encoding,Escaping,对python有些陌生,老实说,不太熟悉python中的编码 假设在解析文本/html输入时,我得到了如下路径 line = \\dfslocation\prj\gct\asw\sw_archive 但是,在处理的早期部分,转义序列“\a”和“t”似乎已不再作为文本存储 literal_line = "%r"%(line) print literal_line \\dfslocation\prj\gct\x07sw\\sw_archive 我最好的猜测是它发生在我试图将电子邮件转换为

对python有些陌生,老实说,不太熟悉python中的编码

假设在解析文本/html输入时,我得到了如下路径

line = \\dfslocation\prj\gct\asw\sw_archive
但是,在处理的早期部分,转义序列“\a”和“t”似乎已不再作为文本存储

literal_line = "%r"%(line)
print literal_line   

\\dfslocation\prj\gct\x07sw\\sw_archive
我最好的猜测是它发生在我试图将电子邮件转换为文本时

for part in self.msg.walk():
  if part.get_content_type().startswith('text/plain'):
    plain_text_part = part.get_payload(decode=False)
    received_text += '\n'
    received_text += plain_text_part

received_text = received_text.encode('ascii', 'ignore')
稍后我想将其用作网络路径,这将要求其采用文本形式-ie\a,而不是\x07(ASCII贝尔字符)

我能想到的暴力方式是搜索所有转义序列,并用相应的字符串文本替换它们

有更好的方法吗


谢谢

尝试将行变量内容存储为原始内容,而不是ASCII

如果按原样存储,
\a
将转换为
x07

>>> line = "\\dfslocation\prj\gct\asw\sw_archive"
>>> line
'\\dfslocation\\prj\\gct\x07sw\\sw_archive'
但是,如果使用
r''
格式存储为原始,它将不会转换为特殊字符

>>> line  = r'\\dfslocation\prj\gct\asw\sw_archive'
>>> print line
\\dfslocation\prj\gct\asw\sw_archive
>>>

原始字符串将
\a
视为
\a
,使其适合windows文件名和正则表达式。

尝试将行变量内容存储为原始内容,而不是ASCII

如果按原样存储,
\a
将转换为
x07

>>> line = "\\dfslocation\prj\gct\asw\sw_archive"
>>> line
'\\dfslocation\\prj\\gct\x07sw\\sw_archive'
但是,如果使用
r''
格式存储为原始,它将不会转换为特殊字符

>>> line  = r'\\dfslocation\prj\gct\asw\sw_archive'
>>> print line
\\dfslocation\prj\gct\asw\sw_archive
>>>
原始字符串将
\a
视为
\a
,使其非常适合windows文件名和正则表达式