编程语言
首页 > 编程语言> > 强制python repr以单引号或者双引号格式返回字符串表达式

强制python repr以单引号或者双引号格式返回字符串表达式

作者:互联网

背景

假设现在有一个密码:12345678‘ “ \

现在需要将这个密码作为一个参数传给一个可执行程序a.exe

a.exe ”密码“ 或者a.exe '密码'

这个时候就需要对’或者”,\进行转义。

某些语言只支持双引号字符串,例如C。

repr方法

python repr函数可以解决这个问题。

但是repr方法有如下特点:

1.如果字符串中有单引号且无双引号,则返回的字符串表达式为双引号格式;

2.其余情况全都返回单引号格式。

强制python repr以单引号或者双引号格式返回字符串表达式

下述两个方法可以达成这个功能。

#! /usr/bin/python3


def reprs(s):
    return "'" + repr('"' + s)[2:]


def reprd(s):
    return '"' + reprs(s)[1:-1].replace('"', '\\"').replace('\\\'', '\'') + '"'


info = "12345678'\"\\"
print(repr("12345678'\\"))
print(repr(info))
print(reprs(info))
print(reprd(info))

运行结果如下:

"12345678'\\"
'12345678\'"\\'
'12345678\'"\\'
"12345678'\"\\"

 

标签:info,双引号,python,单引号,repr,12345678,print
来源: https://www.cnblogs.com/real-bert/p/14849274.html