我从文件中获取了一些数据,但是经过一些处理后,Python转义了反斜杠,这是不希望的行为。
Windows 10上的Python 3
line = "URL ABC \/A\/B\/C\/D" #line of fetched file
tokens = line.split('\t') # tokens = ['URL', 'ABC', '\\/A\\/B\\/C\\/D']
问题不是Python中字符串的表示形式。问题是我需要将输出写入文件,因此当我尝试将tokens[2]
写入文件时,它将写入\\/A\\/B\\/C\\/D
而不是\/A\/B\/C\/D
。哪个输出错误。
答案 0 :(得分:-1)
尝试使用: 分割后添加
line = "URL ABC \/A\/B\/C\/D" #line of fetched file
tokens = line.split('\t') # tokens = ['URL', 'ABC', '\\/A\\/B\\/C\\/D']
tokens[2]=tokens[2].decode('string_escape') ;
答案 1 :(得分:-1)
您需要将其作为原始字符串来获取,而不是
line = "URL ABC \/A\/B\/C\/D" #line of fetched file
tokens = line.split('\t') # tokens = ['URL', 'ABC', '\\/A\\/B\\/C\\/D']
您需要在字符串前添加一个r
,这样任何内容都无法逃脱。
line = r"URL ABC \/A\/B\/C\/D" #line of fetched file
tokens = line.split('\t') # tokens = ['URL', 'ABC', '\\/A\\/B\\/C\\/D']