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

2021/6/4 14:21:23

本文主要是介绍强制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'\"\\"

 



这篇关于强制python repr以单引号或者双引号格式返回字符串表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程