1 votos

¿Utilizar una cadena de Python en un Mac para un no-codificador?

Estoy encantado de encontrar la solución de Navddeep aquí ¿Cómo convertir un paquete epub en epub normal? Sin embargo, se plantean dos cuestiones esenciales al tratar de aplicarlo.

  1. ¿Qué debo cambiar en la cadena para identificar mis rutas únicas, o cualquier otra cosa?

  2. ¿Cómo puedo convertir esta cadena -que aún no es un archivo py- en algo que pueda probar y utilizar como ejecutable? Estoy manejando Catalina en un MacBook Pro. He trabajado en Mac IT durante 20 años pero no soy un codificador y estoy seguro de que Applescript me odia.La cadena de Python está abajo.

    Convert epub packages to epub files

    import os import subprocess

    filenames = [] path_to_files = ""

    Function to store all filenames in a list

    def extract_filename(path_to_files): # "/Users/****/Desktop/Old_epubs" os.chdir(path_to_files) books = os.getcwd() for f in os.listdir(books): f_name, f_ext = os.path.splitext(f) if f_ext == ".epub": filenames.append(f_name)

    filenames.sort()

    Function to generate new epub files

    def create_epub(path_to_new_files): # "/Users/***/Desktop/new_epubs/" total_files = len(filenames) for i in range(total_files): epub_path = "cd " + path_to_files filename = filenames[i] + ".epub" zipping = " zip -X -r " + path_to_new_files + filename + " mimetype " plist = "rm iTunesMetadata.plist" comm = epub_path + filename + "; " + plist + "; " + zipping p1 = subprocess.run(comm, capture_output = True, text = True, shell = True) success = p1.returncode if success == 0: rem_files = total_files - i + 1 print("File #", i+1, " has been processed successfully. Remaining files: ", rem_files)

    Enter the paths

    extract_filename("/Users//Desktop/Books") # Path to directory containing epub packages create_epub("/Users//Desktop/new_epubs/") # Path to store new epub files in

1voto

yoliho Puntos 340

La "cadena" no es una cadena. Es sólo un texto en una página como si estuvieras leyendo un libro.

El texto si se copia en un nuevo archivo es un programa de Python.

Los pasos son

  1. Copie el texto en un nuevo archivo en un editor de texto, por ejemplo, TextEdit o nano
  2. Guarde el archivo como convert.py u otro nombre de archivo que termine en .py El sufijo es el estándar para los archivos de Python.
  3. Edita las dos últimas líneas para modificar las rutas del directorio de entrada y del archivo epub de salida respectivamente y guarda
  4. En un Terminal cambie de directorio al directorio en el que guardó el archivo Python.
  5. En la ejecución de la Terminal python convert.py O lo que sea que haya nombrado el archivo como

Creo que este código funciona como python2 por lo que funcionará con el Python instalado por Apple - sin embargo, si no es así se necesita un python3 y la forma más fácil es instalar esto a través de la instalación de Xcode y sus herramientas de línea de comandos. A continuación, debe ejecutar la línea de comandos como python3 convert.py

Como nota de programación yo no usaría el subproceso.run para borrar cosas y comprimir el archivo. Yo usaría eso usando las funciones de Python

La otra respuesta https://apple.stackexchange.com/a/372808/237 es probablemente más fácil de tratar. Basta con ejecutar el comando dado en el terminal

0voto

Con respecto al punto 1: parece que debería cambiar path_to_files = "" a path_to_files = "path\to\your\folder\where\the\books\are" y eso es todo

con respecto al punto 2: La solución más sencilla es crear un nuevo archivo de texto, pegar el código en él y ejecutar $ python new_file Si eres reacio a crear un archivo, puedes escribir en tu terminal python -c ' , luego pegar el texto, y finalmente añadir otra cita ' marca y pulsa enter

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X