簡體   English   中英

蟒蛇。 如何根據文件中的行數動態創建變量?

[英]Python. How to dynamically create variables based on number of lines in a file?

是否可以根據文件中的行數創建變量?

例如,假設文件將始終具有偶數行。 如果文件有4行,我想創建2個變量。 var1將包含前兩行,而var2將包含后兩行。 如果文件有10行,我想創建5個變量。 同樣,第一個變量將具有前兩行,而下一個變量將具有以下兩行,依此類推...

基於某些編程值創建變量名幾乎總是一個壞主意。 而是使用本機數據結構。 在這種情況下,聽起來像是您需要的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']]
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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM