03
Фев
2017

В каждой папке из списка создать файлы из списка

# -*- coding: Windows-1251-*-
import os
import functools
import errno

times = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20',
         '21', '22', '23', '24']

root_folder = 'E:\\folder_for_future_adv'
print 'Введите год '
year = input()
path = root_folder + '\\' + str(year)

if os.path.exists(path):
    print"year folder is exist!"
    pass
else:
    os.mkdir(path)

print 'Введите  месяц'
month = input()

path_month = path + '\\' + str(month)

if os.path.exists(path_month):
    print 'month folder in exist !'
    pass
else:
    os.mkdir(path_month)

concat_path = functools.partial(os.path.join, path_month)
path_to_multi_files = path_month + '\\' + str(concat_path)

try:
    if os.path.exists(path_to_multi_files):
        print 'folders is exist !'
    else:
        map(os.makedirs, map(concat_path, times))
except:
    errno.EEXIST
    print len(times), ' folders is exist !'
pass

# Всё плохо начинается ниже #
file_names = ['7:30', '7:55', '8:30', '8:55']
concat_path_for_advfiles = functools.partial(os.path.join, path_to_multi_files)
#concat_path_for_advfiles по идее правильно составлен,в папках это работало.
path_to_advfiles = path_to_multi_files + '\\'+str(concat_path_for_advfiles)
# path_to_advfiles тоже по примеру папок
#дальше я не соображаю что делать.
for name in file_names:
    name_generated_file = str(name) + '.' + 'txt'
    for i in path_to_advfiles:
        if os.path.isfile(path_to_advfiles):
            pass
        else:
            files = open(map(name_generated_file, file_names), 'w')
print '!!!!!!!!'

Для каждой папки из списка times надо создавать текстовые файлы из списка file_names.

И тут я зависаю плотно.

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

Идея в то что если, например, в феврале зашла реклама, должен создаваться месяц, внутри папки для 31го дня. Внутри каждого дня - текстовые файлы для каждого рекламного блока. Если создалось все это дело один раз, нельзя перезаписывать или пересоздавать ни папки в месяце ни текст.файлы в днях.Дальше будут проверки на наличие тех же файлов и потом еще и записи в файлах должны проверяться.пока надо создать файлы.

Источник: https://ru.stackoverflow.com/questions/623095/%D0%92-%D0%BA%D0%B0%D0%B6%D0%B4%D0%BE%D0%B9-%D0%BF%D0%B0%D0%BF%D0%BA%D0%B5-%D0%B8%D0%B7-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-%D0%B8%D0%B7-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0

Share

Тебе может это понравится...