首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:将文本文件拆分为多个工作会话

Python:将文本文件拆分为多个工作会话
EN

Stack Overflow用户
提问于 2020-06-26 11:05:56
回答 2查看 103关注 0票数 1

如何定义我的工作人员为test.txt文件中的前4行做一些事情,然后进入下一个工作人员并继续列表中的下4个项(如5-8)等等。(第3名工人9至12名)。

代码:

代码语言:javascript
复制
import time

with open("test.txt", "r") as f:
    Mylist = f.readlines()

N = 4
def worker():
    for Item in Mylist:
        #Do Stuff
        print(Item)
    print("Done Session")    
    time.sleep(2)


def main():
    worker()
    worker()
    worker()
    return main()

main()   

test.txt包含从1到12的数字:

代码语言:javascript
复制
1
2
3
...
12

输出应该如下所示:

代码语言:javascript
复制
1
2
3
4
Done Session
5
6
7
8
Done Session
9
10
11
12
Done Session

此外,在列表中没有更多的项之后,main()应该停止返回,因此在本例中,它将在列表中的12项之后停止循环。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-26 11:19:16

您可能需要这个worker()函数,check this answer来使用索引来迭代一组项:

代码语言:javascript
复制
def worker():
    for idx, Item in enumerate(Mylist):
        if idx % N == 0:
            print("Done Session")
            time.sleep(2)
        print(Item)
票数 2
EN

Stack Overflow用户

发布于 2020-06-26 11:24:18

您可以使用范围并读取列表的特定索引。

代码语言:javascript
复制
import time

with open("test.txt", "r") as f:
    Mylist = f.readlines()

N = 4
def worker(index_of_worker):
    for x in range(index_of_worker*4, index_of_worker*4+N):
        print(Mylist[x])
    print("Done Session")    
    time.sleep(2)


def main():
    worker(0)
    worker(1)
    worker(2)
    return main()
    

main()   
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62593420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档