首页 > 解决方案 > Python - 将原始字符串(来自文件)视为代码编写的字符串

问题描述

我正在从文件中读取一行,它代表一个字符串。IE 从文件中读取:\'\\000\\000\\000\\000\'. 从文件中打印文本时,python 会打印\'\\000\\000\\000\\000\'(不考虑 \ 等)。

但是,当在代码上显式编写此文本然后打印它时,python 会打印'\000\000\000\000'(如预期的那样)。

我想将文件中的字符串转换为被视为在代码中明确写入的字符串(我不确定定义)。我试图对其进行解码,但它完全改变了文本(添加了一些斜杠等)

with open('f.txt', 'r') as f:
    line = f.readline() # line is written on the file \'\\000\\000\\000\\000\'
    print(line) # prints \'\\000\\000\\000\\000\'
    explicit_line = "\'\\000\\000\\000\\000\'"
    print(explicit_line) # prints '\000\000\000\000'
    # I would like print(line) to print the same content as print(explicit_line)

有任何想法吗?谢谢!

标签: python

解决方案


您可以尝试不转义反斜杠的python原始字符串

print(r'\\0000...')

raw_str = r'\abc\\a\\000'
print(raw_str)
\abc\\a\\000

推荐阅读