Я изучаю темы программирования уже много лет, но никогда не практиковался. Сейчас я хочу начать практиковаться и создавал первый код. Моя первая программа была простой, но она стоила мне около 6 часов. в первый день я создал все, что работало, а затем добавил такие вещи, как цвет, документацию и другие форматы файлов, поскольку первая версия поддерживала только mp4 и jpeg
.
# -- La idea es crear un script que organize los archivos por formato en carpetas especificas dentro de descargas como img, videos, audios y que si estas no existen las añada
import os
import magic
import shutil
dd = None
### --- Verificacion y creacion de las carpetas --- ###
def crear_carpeta(arg_directory):
directory = arg_directory
parent_dir = "C://Users//rdev//Downloads"
path = os.path.join(parent_dir, directory)
os.mkdir(path)
print("Directory '%s' created" %directory)
def mover(arg1, arg2):
shutil.move(arg1, arg2)
pathSec_1 = os.access("C://Users//rdev//Downloads//Videos", os.F_OK)
print("La carpeta Videos: ", pathSec_1)
pathSec_2 = os.access("C://Users//rdev//Downloads//Musica", os.F_OK)
print("La carpeta Musica: ", pathSec_2)
pathSec_3 = os.access("C://Users//rdev//Downloads//Imagenes", os.F_OK)
print("La carpeta Imagenes: ", pathSec_3)
if pathSec_1 == False:
crear_carpeta("Videos")
if pathSec_2 == False:
crear_carpeta("Musica")
if pathSec_3 == False:
crear_carpeta("Imagenes")
os.chdir('C://Users//rdev//Downloads')
lista = list(filter(os.path.isfile, os.listdir()))
print(lista)
#for xx in lista:
# dd = magic.from_file("C://Users//rdev//Downloads//Timeline 1.mp4", mime = True)
# print(dd)
for x in lista:
dy = x
dd = magic.from_file(dy , mime = True)
if dd == "image/jpeg":
mover(dy, "Imagenes")
elif dd == "video/mp4":
mover(dy, "Videos")
# -- La idea es crear un script que organize los archivos por formato en carpetas especificas dentro de descargas como Imagenes, Videos, Musica y que si estas no existen las añada
import os
import magic
import shutil
from colorama import init, Fore, Style, Back
init();
num1 = True
def Programa():
### --- listas de formatos disponibles --- ###
lista_formatos_videos = ["video/mov", "video/mp4", "video/avi", "video/wmv", "video/flv"]
lista_formatos_imagenes = ["image/jpeg", "image/png", "image/bmp", "image/gif", "image/tiff", "image/heif", "image/raw", "image/psd", "image/svg", "image/webp", "image/eps", "image/"]
lista_formatos_audios = ["audio/x-wav", "audio/mpeg"]
### --- Funcion para la creacion de las carpetas --- ###
def crear_carpeta(arg_directory):
directory = arg_directory
parent_dir = "C://Users//rdev//Downloads"
path = os.path.join(parent_dir, directory)
os.mkdir(path)
print(Fore.CYAN + "Directorio %s creado" %directory)
print("-------------------------------------------------")
### --- Funcion simple que mueve los archivos --- ###
def mover_archivos(arg1, arg2):
shutil.move(arg1, arg2)
print("")
print(Fore.LIGHTGREEN_EX + "")
print("-------------------------------------------------")
### --- Verificacion de acceso a las carpetas --- ###
pathSec_1 = os.access("C://Users//rdev//Downloads//Videos", os.F_OK)
if pathSec_1 == True:
print(Fore.LIGHTGREEN_EX + "La carpeta Videos: ", pathSec_1)
else:
print(Fore.LIGHTRED_EX + "La carpeta Videos: ", pathSec_1)
pathSec_2 = os.access("C://Users//rdev//Downloads//Musica", os.F_OK)
if pathSec_2 == True:
print(Fore.LIGHTGREEN_EX + "La carpeta Musica: ", pathSec_2)
else:
print(Fore.LIGHTRED_EX + "La carpeta Musica: ", pathSec_2)
pathSec_3 = os.access("C://Users//rdev//Downloads//Imagenes", os.F_OK)
if pathSec_3 == True:
print(Fore.LIGHTGREEN_EX + "La carpeta Imagenes: ", pathSec_3)
else:
print(Fore.LIGHTRED_EX + "La carpeta Imagenes: ", pathSec_3)
print(Fore.LIGHTGREEN_EX + "-------------------------------------------------")
### --- Creacion de las carpetas utilizando la funcion crear_carpetas() --- ###
if pathSec_1 == False:
crear_carpeta("Videos")
if pathSec_2 == False:
crear_carpeta("Musica")
if pathSec_3 == False:
crear_carpeta("Imagenes")
### --- Modificar el directorio actual neccesario por culpa de un error --- ###
os.chdir('C://Users//rdev//Downloads')
### --- Verifica los archivos existentes en descargas con el listdir
### --- isfile sirve para que los directorios no se revisen y no aparescan
### --- los directorios generan un error --- ###
lista = list(filter(os.path.isfile, os.listdir()))
print("")
print(Fore.LIGHTMAGENTA_EX + "Los Archivos en la carpeta descargas son los siguientes")
print("---------------------------------------------------------------------------")
lista2 = lista
for z in lista2:
print(Fore.LIGHTYELLOW_EX + z)
print(Style.RESET_ALL)
#for xx in lista:
# dd = magic.from_file("C://Users//rdev//Downloads//Timeline 1.mp4", mime = True)
# print(dd)
### --- Iterar la lista con los archivos para poder ir uno por uno revisandolo con
### --- la libreria magic que revisa la cabezera de los archivos para saber que formato son --- ###
for x in lista:
### --- Estas dos lineas de codigo verifican el formato de cada archivo el mime resume el formato --- ###
valor_actual_lista = x
formato_archivo = magic.from_file(valor_actual_lista , mime = True)
### --- El argumento formato utiliza las listas creadas al inicio del codigo linea 8 y 9
### --- el argumento path_carpeta es utilizado por mover_archivos()
### --- como argumento para mover los archivos con shutil.move arg1 = nombre de archivo
### --- arg2 = carpeta a la cual moverlo tambien se utiliza para imprimir
### --- a cual carpeta se movio en consola --- ###
def mover_archivos_formato(formato, path_carpeta):
for y in formato:
Carpeta = path_carpeta
if y == formato_archivo:
mover_archivos(valor_actual_lista, path_carpeta)
print("")
print(Fore.LIGHTGREEN_EX + "Se a movido con exito: %s" % valor_actual_lista, "a la carpeta", Carpeta)
### --- Utilizasion de la funcion para mover los archivos a partir de su formato a su carpeta correspondiente --- ###
mover_archivos_formato(lista_formatos_videos, "Videos")
mover_archivos_formato(lista_formatos_imagenes, "Imagenes")
mover_archivos_formato(lista_formatos_audios, "Musica")
def EER():
while True:
print(Fore.LIGHTMAGENTA_EX + "")
print("quieres volver a ordenar los archivos")
Condition = input("---- [ Y ] or [ N ] ----: ")
if Condition == "Y":
pass
elif Condition == "y":
pass
else:
quit()
Programa()
EER()
Programa()
извините за орфографические ошибки, я хочу знать, что мне следует улучшить, дать совет и т. д.
создать скрипт, который будет организовывать файлы в зависимости от того, что это были видео, аудио, изображения
Я изучаю темы программирования уже много лет, но никогда не практиковался. Сейчас я хочу начать практиковаться и создавал первый код. Моя первая программа была простой, но она стоила мне около 6 часов. в первый день я создал все, что работало, а затем добавил такие вещи, как цвет, документацию и другие форматы файлов, поскольку первая версия поддерживала только mp4 и jpeg .[code]# -- La idea es crear un script que organize los archivos por formato en carpetas especificas dentro de descargas como img, videos, audios y que si estas no existen las añada
import os import magic import shutil
dd = None ### --- Verificacion y creacion de las carpetas --- ###
lista = list(filter(os.path.isfile, os.listdir())) print(lista) #for xx in lista: # dd = magic.from_file("C://Users//rdev//Downloads//Timeline 1.mp4", mime = True) # print(dd) for x in lista: dy = x dd = magic.from_file(dy , mime = True) if dd == "image/jpeg": mover(dy, "Imagenes") elif dd == "video/mp4": mover(dy, "Videos") [/code] это первая версия это вторая [code]# -- La idea es crear un script que organize los archivos por formato en carpetas especificas dentro de descargas como Imagenes, Videos, Musica y que si estas no existen las añada import os import magic import shutil from colorama import init, Fore, Style, Back init(); num1 = True def Programa(): ### --- listas de formatos disponibles --- ### lista_formatos_videos = ["video/mov", "video/mp4", "video/avi", "video/wmv", "video/flv"] lista_formatos_imagenes = ["image/jpeg", "image/png", "image/bmp", "image/gif", "image/tiff", "image/heif", "image/raw", "image/psd", "image/svg", "image/webp", "image/eps", "image/"] lista_formatos_audios = ["audio/x-wav", "audio/mpeg"]
### --- Funcion para la creacion de las carpetas --- ### def crear_carpeta(arg_directory): directory = arg_directory
### --- Funcion simple que mueve los archivos --- ### def mover_archivos(arg1, arg2): shutil.move(arg1, arg2) print("") print(Fore.LIGHTGREEN_EX + "") print("-------------------------------------------------") ### --- Verificacion de acceso a las carpetas --- ### pathSec_1 = os.access("C://Users//rdev//Downloads//Videos", os.F_OK) if pathSec_1 == True: print(Fore.LIGHTGREEN_EX + "La carpeta Videos: ", pathSec_1) else: print(Fore.LIGHTRED_EX + "La carpeta Videos: ", pathSec_1)
pathSec_2 = os.access("C://Users//rdev//Downloads//Musica", os.F_OK) if pathSec_2 == True: print(Fore.LIGHTGREEN_EX + "La carpeta Musica: ", pathSec_2) else: print(Fore.LIGHTRED_EX + "La carpeta Musica: ", pathSec_2)
pathSec_3 = os.access("C://Users//rdev//Downloads//Imagenes", os.F_OK) if pathSec_3 == True: print(Fore.LIGHTGREEN_EX + "La carpeta Imagenes: ", pathSec_3) else: print(Fore.LIGHTRED_EX + "La carpeta Imagenes: ", pathSec_3) print(Fore.LIGHTGREEN_EX + "-------------------------------------------------") ### --- Creacion de las carpetas utilizando la funcion crear_carpetas() --- ### if pathSec_1 == False: crear_carpeta("Videos")
if pathSec_2 == False: crear_carpeta("Musica")
if pathSec_3 == False: crear_carpeta("Imagenes")
### --- Modificar el directorio actual neccesario por culpa de un error --- ### os.chdir('C://Users//rdev//Downloads')
### --- Verifica los archivos existentes en descargas con el listdir ### --- isfile sirve para que los directorios no se revisen y no aparescan ### --- los directorios generan un error --- ### lista = list(filter(os.path.isfile, os.listdir())) print("") print(Fore.LIGHTMAGENTA_EX + "Los Archivos en la carpeta descargas son los siguientes") print("---------------------------------------------------------------------------") lista2 = lista for z in lista2: print(Fore.LIGHTYELLOW_EX + z) print(Style.RESET_ALL) #for xx in lista: # dd = magic.from_file("C://Users//rdev//Downloads//Timeline 1.mp4", mime = True) # print(dd)
### --- Iterar la lista con los archivos para poder ir uno por uno revisandolo con ### --- la libreria magic que revisa la cabezera de los archivos para saber que formato son --- ### for x in lista:
### --- Estas dos lineas de codigo verifican el formato de cada archivo el mime resume el formato --- ### valor_actual_lista = x formato_archivo = magic.from_file(valor_actual_lista , mime = True)
### --- El argumento formato utiliza las listas creadas al inicio del codigo linea 8 y 9 ### --- el argumento path_carpeta es utilizado por mover_archivos() ### --- como argumento para mover los archivos con shutil.move arg1 = nombre de archivo ### --- arg2 = carpeta a la cual moverlo tambien se utiliza para imprimir ### --- a cual carpeta se movio en consola --- ### def mover_archivos_formato(formato, path_carpeta): for y in formato: Carpeta = path_carpeta if y == formato_archivo: mover_archivos(valor_actual_lista, path_carpeta) print("") print(Fore.LIGHTGREEN_EX + "Se a movido con exito: %s" % valor_actual_lista, "a la carpeta", Carpeta)
### --- Utilizasion de la funcion para mover los archivos a partir de su formato a su carpeta correspondiente --- ### mover_archivos_formato(lista_formatos_videos, "Videos") mover_archivos_formato(lista_formatos_imagenes, "Imagenes") mover_archivos_formato(lista_formatos_audios, "Musica")
def EER(): while True: print(Fore.LIGHTMAGENTA_EX + "") print("quieres volver a ordenar los archivos") Condition = input("---- [ Y ] or [ N ] ----: ") if Condition == "Y": pass elif Condition == "y": pass else: quit() Programa()
EER() Programa() [/code] извините за орфографические ошибки, я хочу знать, что мне следует улучшить, дать совет и т. д. создать скрипт, который будет организовывать файлы в зависимости от того, что это были видео, аудио, изображения