蟒蛇。如何根据文件中的行数动态创建变量?

时间:2018-01-30 05:46:12

标签: python file variables

是否可以根据文件中的行数创建变量?

例如,假设文件总是具有偶数行。如果文件有4行,我想创建2个变量。 var1将包含前两行,var2将包含以下两行。如果文件有10行,我想创建5个变量。同样,第一个var将具有前两行,而下一个var将具有以下两行,依此类推......

2 个答案:

答案 0 :(得分:0)

基于某些程序化值创建变量名称几乎总是一个坏主意。而是使用本机数据结构。在这种情况下,它听起来像list就是你所需要的。

这是一种循环文件并将一对行收集到列表列表中的方法。

var = []
last_line = None
for line in open('data.txt', 'rU'):
    if last_line:
        var.append([last_line, line.strip()])
        last_line = None
    else:
        last_line = line.strip()
if last_line:
    var.append([last_line])
print(var)

结果:

[['line1', 'line2'], ['line3', 'line4'], ['line5', 'line6']]

答案 1 :(得分:0)

from itertools import islice
num_lines = sum(1 for line in open('lines.txt'))
with open("lines.txt", "r+") as f:
    len_of_lines = num_lines
    count_ = 0
    while count_ < len_of_lines:
        var = list(islice(f, 2))
        # something with var
        print(var)
        count_ += 2
   >>>['xascdascac\n', 'ascascanscnas\n']
      ['ascaslkckaslca\n', 'ascascacac\n']
      ['ascascaca\n', 'ascacascaca\n']
      ['ascascascac\n']