Python将创建的字符串转换为转换规范

2024-04-29 22:52:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本,创建一个随机字符串,我想把它变成一个占位符。 这是我的剧本:

import random

def randstring(length=10):
    valid_letters='abcdefghijklmnopqrstuvqxyz1234567890'
    return ''.join((random.choice(valid_letters) for i in xrange(length)))
print randstring(15)
#prints something like "qkxfdqp5jockf6n"

我希望能够将创建的“randstring(15)”值转换为转换说明符,如%s或%d。 这应该很简单,但我想不通。 谢谢。在


Tags: 字符串import脚本forreturndefrandomlength
4条回答

when I run that it spits out a string, qkxfdqp5jockf6n for example. I want to take that be able to do something like print "Hello, %s" and it say "Hello, qkxfdqp5jockf6n"

%s不是魔法,它不知道你想用什么来代替它。它是一个占位符。将字符串替换为该字符串的方式与替换其他字符串的方式相同:

text = 'Damien'
def my_function():
    return 'Damien'

# All of the following will print "Hello, Damien":
print 'Hello, %s' % 'Damien'
print 'Hello, %s' % text
print 'Hello, %s' % my_function()

没有任何东西“变成”转换说明符。在

使用format()代替旧的%s字符串格式。在

import random

def randstring(length=10):
  valid_letters='abcdefghijklmnopqrstuvqxyz1234567890'
  return "hello, {0:s}".format(''.join((random.choice(valid_letters) for i in xrange(length))))
print (randstring(15))

输出:

^{pr2}$

相关问题 更多 >