Как от 0 до отпределённого числа создать цикл
и так, мне нужно чтобы чтобы пока я упазал путь к папке, например C:\Users\romaz\Desktop\testjoin там есть папки от 0 до 5, как мне по очереди получать содержимое этих папок и создавать там txt файл с названием i find this folder {folder_name} и ещё получить название папки, где будет создаваться данный файл
Ответы (2 шт):
Автор решения: Sergey Tatarincev
→ Ссылка
dir = 'C:\\Users\\romaz\\Desktop\\testjoin\\'
for i in range (1,6): # range(1,n) = {1,2,...n-1}
subdir = "%s%s"%(dir,str(i)) # для получения полного пути к подкаталогу, конкатенируйте счетчик цикла к имени базового каталога
print(subdir,' - подкаталог\n')
fname = "%s\\i find this folder %s" % (subdir,str(i)) # имя файла также получаете конкатенацией подкаталога и счетчика
my_file = open(fname, "w+") # открываете файл для записи
my_file.write("hi folks") # записываете в него
my_file.close() # и закрываете
Автор решения: Kuchizu
→ Ссылка
from os import walk
from os.path import join
for root, dirs, files in walk(r"C:\Users\romaz\Desktop\testjoind"): # Возвращает объект-генератор, из которого получают кортежи для каждого каталога переданной файловой иерархии.
for i in dirs: # Прохожусь циклом в каждую папку
with open(join(join(root, i), f"i found this folder {i}.txt"), 'w') as f: # Создаю текстовый документ с названием папки используя join чтобы сформировать полный путь к файлу (при этом используя функцию with для безопасного закрытия файла)
pass # f.write('Some text') Если вы ещё хотите и написать что-то в созданный файл