Python: Как я создаю последовательные имена файлов?

Я хочу, чтобы моя программа смогла записать файлы в последовательном формате, т.е.: file1.txt, file2.txt, file3.txt. Это только предназначено для записи единственного файла после выполнения кода. Это не может перезаписать существующие файлы, и это ДОЛЖНО быть создано. Я озадачен.

5
задан Mister X 8 March 2010 в 11:12
поделиться

2 ответа

Два варианта:

  1. Файл счетчика.

  2. Проверить каталог.

Файл счетчика .

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

count += 1

Каждый раз, когда вы создаете новый файл, вы также перезаписываете файл счетчика с соответствующим номером. Очень и очень быстро. Однако теоретически возможно рассинхронизировать их. в случае аварии.

Вы также можете сделать файл счетчика немного умнее, сделав его небольшим фрагментом кода Python.

settings= {}
execfile( "thecounter.py", settings )
count = settings['count']

Затем, когда вы обновляете файл, вы пишете небольшой фрагмент кода 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

Медленнее. Никогда не было проблем с синхронизацией.

4
ответ дан 14 December 2019 в 08:48
поделиться

Или вы можете добавить текущее системное время, чтобы создать уникальные имена файлов ...

2
ответ дан 14 December 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: