在字符串python周围添加单引号

时间:2018-02-13 11:11:07

标签: python

我正在搜索打印两个单引号之间的字符串,所以我按照question执行此操作,我也尝试使用转义字符,但没有:

def quote(string):
    return "'%s'" % string

然后我记得那个功能:

old = 'testing String'
test_string = quote(old)

但是当我打印test_string时,我输出了这个:

'''testing String'''

为什么我有三个单引号?哪里我错了? 感谢。

编辑: 我试着这样做不是在我的小程序上它可以工作,但我不知道为什么在我的程序上它不起作用。 我正在尝试编辑yaml文件中的值: 这是我的代码:

import yaml
import sys
import random
import string



def quote(string):
    return "'{}'" .format(string)



email = sys.argv[1]
dominio = email.split("@")
nome = (dominio[0].split("."))[0].capitalize()
cognome = (dominio[0].split("."))[1].capitalize()
password = random = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(8)])
x={}
with open('/home/francesco/Musica/prova.yaml', 'r') as my_file:
    x = yaml.load(my_file)
x['accounts']['addresses']['username'] = quote(email)
x['accounts']['addresses']['address'] = email
x['accounts']['email'] = email
x['accounts']['firstname'] = nome
x['accounts']['lastname'] = cognome
x['accounts']['password1'] = password
x['accounts']['password2'] = password
x['accounts']['username'] = email
with open('output.yaml', 'w') as new_file:
    yaml.dump(x, new_file,default_flow_style=False)

quote(email)返回三个单引号中的电子邮件内容,我不知道为什么

3 个答案:

答案 0 :(得分:0)

这应该可以解决问题

return repr(string)

答案 1 :(得分:0)

我尝试了你的代码,它实际上可以在我的电脑上正常工作。

但由于%语法已被弃用,我建议您使用新的.format()。

以下是您的参考:https://pyformat.info/

你的答案代码是:

def quote(string):
    return "'{}'" .format(string)

答案 2 :(得分:0)

您要插入单引号。并且调用repr()将以其格式表示数据。而是使用str()