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

2024-04-25 02:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

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

假设在解析text/html输入时,我得到一个如下所示的路径

line = \\dfslocation\prj\gct\asw\sw_archive

但是,在处理的早期,转义序列'\a'和't'似乎已经不再作为文本存储。在

^{pr2}$

我最好的猜测是当我试图将电子邮件转换成文本时

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')

稍后,我希望将其用作网络路径,这将要求其为其文字形式-即\a,而不是\x07(ASCII-Bel字符)

我能想到的暴力方法是搜索所有转义序列https://docs.python.org/2.0/ref/strings.html,并用相应的字符串文本替换它们。在

有更好的方法吗?在

谢谢


Tags: 方法text文本路径编码gethtmlline
1条回答
网友
1楼 · 发布于 2024-04-25 02:26:47

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

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

>>> line = "\\dfslocation\prj\gct\asw\sw_archive"
>>> line
'\\dfslocation\\prj\\gct\x07sw\\sw_archive'

但是,如果您使用r'<your_ascii_text>'格式以原始格式存储,它将不会转换为特殊字符。在

^{pr2}$

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

相关问题 更多 >