Python 用于声明和填写列表问题
我有一个函数来读取一个文件,并用x个文件行的元组填充一个列表,然后在列表中有x个元素后执行一些操作,然后清空这个列表Python 用于声明和填写列表问题,python,Python,我有一个函数来读取一个文件,并用x个文件行的元组填充一个列表,然后在列表中有x个元素后执行一些操作,然后清空这个列表 def accesslog_parser(chunk_size): chunk = [] with open('access.log', 'r') as accesslog: # Open file for line in accesslog: chunk.append(tuple(line.split()))
def accesslog_parser(chunk_size):
chunk = []
with open('access.log', 'r') as accesslog: # Open file
for line in accesslog:
chunk.append(tuple(line.split()))
if len(chunk) == chunk_size:
print 'Printing a chunk \n'
print chunk
#process(chunk) # Do something with this chunk
chunk = [] # Once processed, set empty
如果我用
accesslog_parser(100)
我得到了我想要的,但如果最后一块process(chunk)
就可以了,如果还有什么问题
def accesslog_parser(chunk_size):
chunk = []
with open('access.log', 'r') as accesslog:
...
if chunk:
process(chunk)
我想你要做的是,如果区块大于100,打印区块的前100个字符,否则打印所有字符。因此:
if len(chunk) >= chunk_size:
print chunk[0:100]
else:
print chunk
不客气,有时候最简单的解决方案是最后想到的