Рекомендации по улучшению Python, я новичок [закрыто]Python

Программы на Python
Ответить
Anonymous
 Рекомендации по улучшению Python, я новичок [закрыто]

Сообщение Anonymous »

Я изучаю темы программирования уже много лет, но никогда не практиковался. Сейчас я хочу начать практиковаться и создавал первый код. Моя первая программа была простой, но она стоила мне около 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()
извините за орфографические ошибки, я хочу знать, что мне следует улучшить, дать совет и т. д.
создать скрипт, который будет организовывать файлы в зависимости от того, что это были видео, аудио, изображения

Подробнее здесь: https://stackoverflow.com/questions/792 ... incipiante
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»