我正在编写代码,让用户输入企业名称并打印出评论。当我运行我的最后一个循环时,我告诉python用四个空格对评审进行右对齐,但是什么都没有发生。我尝试过多种解决方案,但我真的不知所措。在
(问题区域是最后一行)
import json
import textwrap
import sys
f = open('reviews.json')
f1= open('businesses.json')
line1= f1.readline()
business= json.loads(line1)
line = f.readline()
review = json.loads(line)
idlist=[]
reviewlist=[]
bizname= raw_input('Enter a business name => ')
print bizname
for line in f1:
business= json.loads(line)
if bizname == business['name']:
idlist.append(business['business_id'])
if len(idlist)==0:
print 'This business is not found'
sys.exit()
for line in f:
review = json.loads(line)
for item in idlist:
if item == review['business_id']:
reviewlist.append(review['text'])
if len(reviewlist)==0:
print 'No reviews for this business are found'
sys.exit()
for i in range(len(reviewlist)):
w = textwrap.TextWrapper(replace_whitespace=False)
print 'Review',str(i+1)+':'
print w.fill(reviewlist[i] , ).rjust(4,' ')
“右对齐4个空格”没有意义,所以不清楚你真正想要什么。
.rjust()
的第一个参数是字段的总宽度,如果字符串已经足够长,则根本不执行任何操作。一些例子:假设您确实想缩进文本,那么可以使用
TextWrapper
对象来实现:演示
^{pr2}$请注意,行宽度中包含了缩进,因此您可能需要相应地调整宽度:
我建议您验证输出
print w.fill(reviewlist[i] , )
。在长度可以小于4。所以看起来好像没用。e、 g.
'abcdef'.rjust(4, ' ')
https://docs.python.org/2/library/string.html#string.rjust
相关问题 更多 >
编程相关推荐