Динамическое создание нескольких папок, если их нет в Box, используя Python - PullRequest
0 голосов
/ 28 мая 2020

Кто-нибудь может мне помочь, как создать несколько папок с форматом года (такие папки, как 2018,2019 и c, если он не существует) в поле внутри папки (с именем Archive), используя Python.

У меня есть фрагмент кода, как показано ниже. Однако я не могу создать какую-либо папку динамически.

it = shared_folder.get_items () для i в нем: if (i.name == 'Lithuansa' ):

#print('{0} {1} is named "{2}"'.format(i.type.capitalize(), i.id, i.name))

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Вы можете использовать Python SDK.

Начиная с вашей root папки ('0'), вы можете создавать последующие подпапки с помощью этого вызова API.

subfolder = client.folder('0').create_subfolder('Folder 1')

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

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

items = client.folder(folder_id='22222').get_items()
for item in items:
    print('{0} {1} is named "{2}"'.format(item.type.capitalize(), item.id, item.name))
0 голосов
/ 28 мая 2020

Вот несколько идей о том, как динамически создавать папки в зависимости от того, существует ли папка с таким же путем / именем. У меня также есть дата-лог c, которую вы можете настроить.

from dateutil.relativedelta import relativedelta
import os

#Create date logic for folder
last_month = datetime.now() - relativedelta(months=1)
Prev_Month_Year = format(last_month, '%B %Y')[0:3] + "_" + format(last_month, '%B %Y')[-4:]

#Set the base folder. All other folders will be subfolders within this one.
K_Folder = 'C:/Reporting/K'

#Set a subfolder
K_Invoices_Folder = f'{K_Folder}/K_Invoices'

#Create a new folder if folder doesn't exist
if not os.path.exists(f'{K_Invoices_Folder}/{Prev_Month_Year}'):
    os.makedirs(f'{K_Invoices_Folder}/{Prev_Month_Year}')
...