如何在python中返回固定长度的字符串
我有一个如下格式的字段:16140526,即count+,+name+Id+日期+12个字符的空格 目前,我通过执行以下操作返回它:如何在python中返回固定长度的字符串,python,string,Python,String,我有一个如下格式的字段:16140526,即count+,+name+Id+日期+12个字符的空格 目前,我通过执行以下操作返回它: def formatField(self) : self.Id = self.getNextId() self.cnt = self.getCount() return(self.cnt+','+self.Id+' ') 这里getNextId返回Id,getCount以字符串的形式返回count。然
def formatField(self) :
self.Id = self.getNextId()
self.cnt = self.getCount()
return(self.cnt+','+self.Id+' ')
这里getNextId返回Id,getCount以字符串的形式返回count。然而,我意识到硬编码12个空格字符是个坏主意,因为当id从9增加到10时,即两位数,空格应该从12个字符减少到11个字符。如何确保整个场地保持固定长度
提前谢谢 在最简单的情况下,如果已经在填充空格,可以使用Python数组切片来获得正确的长度 例如:
myWidth=30 # For example, this depends on how 'wide' you want the string to be.
myString = self.cnt+','+self.Id+' '
return mystring[:MyWidth]
您可以尝试ljust函数
改变
到
所有其他选项都是有效的,我喜欢。L只是为了完整起见,我将添加以下选项:
def formatField(self, length=30):
self.Id = self.getNextId()
self.cnt = self.getCount()
field = str(self.Id) + ',' + str(self.cnt)
field += ' ' * max(0, length - len(field)
return field
s = str(self.cnt)+','+self.Id+' '
return s[:13]
def formatField(self, length=30):
self.Id = self.getNextId()
self.cnt = self.getCount()
field = str(self.Id) + ',' + str(self.cnt)
field += ' ' * max(0, length - len(field)
return field