Найти - Пользователи
Полная версия: Переопределения символа подстановки в строку...
Начало » Python для экспертов » Переопределения символа подстановки в строку...
1
Strelok-den
Возможно ли заменить?:
print “”“text name: %(nama)s”“” % vars()
или
print “”“text name: {name}”“”.format(name)

на:

print “”“text name: %%(nama)s”“” % vars()
или
print “”"text name: “”".format(name)

Спасибо)
terabayt
только изменяя исходники пайтона

ну можно так
text = mystring("”“text name: %%(nama)s”“")
print text % vars()
если пойдет могу написать код
Strelok-den
terabayt
только изменяя исходники пайтонану можно так
Желательно что то похоже на
'[name]' или '%%(nama)'
без ‘s’, если это возможно.
Напишите пожалуйста)
terabayt
class mystring(str):
	def __init__(self, s):
		self.s = s
	def __mod__(self, a):
		for i in xrange(self.s.count('%%(')):
			b = self.s.find('%%(')
			e = self.s.find(')', b)
			self.s = self.s[:b] + a[self.s[b+3: e]] + self.s[e+1:]
		return self.s
 
s = mystring('hi %%(name) %%(lastname)')
print s % {'name': 'Ivan', 'lastname': 'Ivanov'}
 
s2 = mystring('hi %%(key)')
v = {'key': 'world'}
print s2 % v
но это костылище! не думаю что есть такая проблема которая не может решиться более красиво!
Strelok-den
terabayt
Спасибо!) интересное решение хоть и костыль)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB