Создайте новую существующую папку с таким идентификатором, как folder_1, folder_2 и т. Д. С python - PullRequest
0 голосов
/ 01 июля 2019

Я создаю новый компонент для своего кода, который может создавать копии папки с идентификатором.

Например, у меня есть серийный номер, и я создаю новую папку для каждого серийного номера, внутри каждой папки существует новая папка с именем, в котором была создана папка (в каждой папке я сохраняю некоторые PDF-файлы с серийный номер с другим сценарием). Это код, который я использую


import os
import matplotlib.pyplot as plt
import datetime
now = datetime.datetime.now()
date = now.strftime("%Y-%m-%d")


from pathlib import Path

def SN_folder(SN, SNs_path):


    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis1"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis1")
        Analysis1_File_path = SNs_path + '/' + SN +'/' + 'Analysis1'

    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis2"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis2")
        PHI_File_path = SNs_path + '/' + SN +'/'+ date +'/' + 'Analysis2'

    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis3"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis3")

        PHII_File_path = SNs_path + '/' + SN +'/'+date+'/' + 'Analysis3'


SN_folder('752-0922', 'SNspath')

С помощью этого кода я создаю папку для серийного номера, который я даю, и внутри другой папки с фактической датой, но если я снова запускаю свой код с тем же серийным номером, он перезаписывает данные, сохраненные в этой папке. , я хочу создать новую папку с тем же серийным номером и идентификатором для второго запуска, как: SN_2 или около того.

1 Ответ

0 голосов
/ 03 июля 2019

Я не до конца понимаю проблему.но в строке if not os.path.exists(f"{engines_path}/{SN}/{date}/Analysis1") вы должны изменить engines_path на SNs_path и, скорее всего, ответ будет

import os
import matplotlib.pyplot as plt
import datetime
now = datetime.datetime.now()
date = now.strftime("%Y-%m-%d")


from pathlib import Path

def SN_folder(SN, SNs_path):

    SN_base = SN
    i = 1
    while os.path.exists(f"{SNs_path}/{SN}"):
        SN = SN_base + "_" + int(i)
        i += 1 

    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis1"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis1")
        Analysis1_File_path = SNs_path + '/' + SN +'/' + 'Analysis1'

    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis2"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis2")
        PHI_File_path = SNs_path + '/' + SN +'/'+ date +'/' + 'Analysis2'

    if not os.path.exists(f"{SNs_path}/{SN}/{date}/Analysis3"):

        os.makedirs(f"{SNs_path}/{SN}/{date}/Analysis3")

        PHII_File_path = SNs_path + '/' + SN +'/'+date+'/' + 'Analysis3'


SN_folder('752-0922', 'SNspath')
...