Python-满足条件后立即创建一个新文件

时间:2018-09-20 18:59:22

标签: python python-3.x pandas file

我正在将用户的输入条目写到一个文件中,我想创建一个新文件,并且一旦旧文件中有10个条目,就继续将输入写到新的文件中。例如,我的原始文件有

1.something
2.
.
.
10. something

然后,我想创建一个新文件并继续这样。 我怎样才能做到这一点?帮助

1 个答案:

答案 0 :(得分:0)

第一个想法

如果对每个条目都执行它:

entries = 0
files = 0
def write(entry):
    global entries, files
    entries += 1
    if entries == 10:
        entries = 0
        files += 1
    with open("file-{}.txt".format(files), "a") as file:         
        file.write(entry + "\n") # \n is new line

数据示例:

for x in range(35):
    write(str(x))

另一个想法

如果您有所有条目的列表:

def write(entries):
    for i in range(0, len(entries), 10):        
        with open("file-{}.txt".format(i), "w") as file:        
            file.write("\n".join(entries[i:i + 10]))

数据示例:

write([str(x) for x in range(35)])

很显然,有更好的方法来存档它,例如(以我卑微的标准),我会为第一个想法创建一个类,以便删除globals,但您应该自己开发它们。