Python:如何创建顺序文件名?

Mis*_*r X 5 python filesystems

我希望我的程序能够以顺序格式写入文件,即:file1.txt,file2.txt,file3.txt.它只是在执行代码时编写单个文件.它不能覆盖任何现有文件,必须创建它.我很难过.

S.L*_*ott 4

两种选择:

  1. 计数器文件。

  2. 检查目录。

计数器文件

with open("thecounter.data","r") as counter:
    count= int( counter.read() )

count += 1
Run Code Online (Sandbox Code Playgroud)

每次创建新文件时,您还会使用适当的数字重写计数器文件。非常非常快。然而,理论上有可能使两者不同步。如果发生碰撞事故。

您还可以通过将计数器文件设为一小段 Python 代码来使其更加智能。

settings= {}
execfile( "thecounter.py", settings )
count = settings['count']
Run Code Online (Sandbox Code Playgroud)

然后,当您更新文件时,您将编写一小段 Python 代码:count = someNumber. 您可以向该文件添加注释和其他标记以简化簿记。

检查目录

import os
def numbers( path ):
    for filename in os.listdir(path):
        name, _ = os.path.splitext()
        yield int(name[4:])
count = max( numbers( '/path/to/files' ) )

count += 1
Run Code Online (Sandbox Code Playgroud)

慢点。从来没有同步问题。