我正在搜索打印两个单引号之间的字符串,所以我按照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)
返回三个单引号中的电子邮件内容,我不知道为什么
答案 0 :(得分:0)
这应该可以解决问题
return repr(string)
答案 1 :(得分:0)
我尝试了你的代码,它实际上可以在我的电脑上正常工作。
但由于%语法已被弃用,我建议您使用新的.format()。
以下是您的参考:https://pyformat.info/
你的答案代码是:
def quote(string):
return "'{}'" .format(string)
答案 2 :(得分:0)
您要插入单引号。并且调用repr()将以其格式表示数据。而是使用str()