Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python只读取文本文件的某些行_Python - Fatal编程技术网

Python只读取文本文件的某些行

Python只读取文本文件的某些行,python,Python,我有下面这样的文本文件,我想做的是读三行,以0开头,三行以1开头,以此类推,直到30-40。并希望将它们打印在同一行上。我怎样才能做到这一点?多谢各位 0 something 0 something2 0 something3 0 something4 0 something5 0 something6 1 something 1 something2 1 something3 1 something4 1 something5 1 something6 期望输出: 0 something s

我有下面这样的文本文件,我想做的是读三行,以0开头,三行以1开头,以此类推,直到30-40。并希望将它们打印在同一行上。我怎样才能做到这一点?多谢各位

0 something
0 something2
0 something3
0 something4
0 something5
0 something6
1 something
1 something2
1 something3
1 something4
1 something5
1 something6
期望输出:

0 something something2 something3
1 something something2 something3
试试这个:

with open('file.txt', mode = 'r') as f:   # opens file
    LIMIT = 3                             # change this to however many you like
    i = 0
    output = []
    while True:
        line = f.readline().strip()       # get rid of '/n' newlines
        if line == '':                    # if line is empty / end of file
            break 
        line = line.split()               # get tuple of values
        i = int(line[0])                  # get number at start
        try:
            output[i]                     # check if output has starting number
        except IndexError:
            for i in range(len(output), i + 1):
                output.append([])         # add until number reached
        if len(output[i]) < LIMIT:        # if length is smaller than limit
            output[i].append(line[1])     # add the value
for i, j in enumerate(output):
    print(i, *j)                          # print output
将open('file.txt',mode='r')作为f:#打开文件 LIMIT=3#将其更改为您喜欢的数量 i=0 输出=[] 尽管如此: line=f.readline().strip()#去掉'/n'换行符 if line='':#if line为空/文件结尾 打破 line=line.split()#获取值的元组 i=int(第[0]行)#开始时获取编号 尝试: 输出[i]#检查输出是否有起始编号 除索引器外: 对于范围内的i(len(输出),i+1): 输出。追加([])#添加,直到达到数字 如果len(输出[i])您搜索了什么,找到了什么?你试过什么,怎么会失败?我们希望你的问题包含你自己的尝试,或者至少包含一些关于你到底被困在哪里的提示。此外,“神奇数字”也是有问题的。你能解释一下为什么第一组要三行,第二组要三行吗?通常,一个实现原则的程序比一个有很多特殊限制的程序有用得多。