[PYTHON] Ich habe ein Skript geschrieben, um goodnotes5 und Anki bei der Zusammenarbeit zu unterstützen

Vorstellen

Ein Student, der ein Programm als Hobby schreibt. Ich verstehe die for-Anweisung.

Umgebung

macOS Catalina 10.15.7 python 3.8.6

Motivation

Ich möchte eine Karteikarte mit goodnotes5 erstellen und mit Anki lernen. Die experimentellen Funktionen der Flash-Karte in Goodnotes 5 sind vorerst nicht gut.

fließen

Mach 3 und 4 mit Python.

  1. Exportieren Sie die Karteikarte (Bild unten) aus goodnotes5 im Bildformat! 0/804364 / d5b63208-0404-638a-b20f-e0b690ce0801.jpeg)
  2. Speichern Sie das exportierte Bild (vollständig) in einem beliebigen Verzeichnis
  3. Teilen Sie das exportierte Bild in zwei Teile und speichern Sie es in Ankis collection.media
  4. Erstellen Sie eine CSV-Datei, die das geteilte Bild in Anki anzeigen kann (example.csv).
  5. Importieren Sie CSV mit Anki für PC

example.csv


<img src="example_qst0.png "><img src="example_ans0.png ">
<img src="example_qst1.png "><img src="example_ans1.png ">
<img src="example_qst2.png "><img src="example_ans2.png ">

Tatsächlicher Code

Ich verstehe die Namensregeln und die englische Grammatik nicht. Ändern Sie den Pfad / nach / und darunter entsprechend der Umgebung.

toAnki.py


import os
from PIL import Image

#Erklärt, CSV für Anki zu erstellen
Anki_csv = []

#Speicherort der Anki-Mediendatei
anki_media_path = '/path/to/collection.media'

#Geben Sie den Ordner an, der die Bilddateien enthält
print('tell me target dir under homedir')
target_dir_path = '/path/to/userhome'+input()

#Geben Sie den Namen der Bilddatei an
print('tell me image file name')
image_file_name = input()

#Geben Sie den Namen der Bilddatei an
print('tell me image index start')
index = int(input())

#Holen Sie sich alle Bilddateien in den angegebenen Ordner
target_list = os.listdir(target_dir_path)
target_list.remove('.DS_Store')
    
    
#Bildverarbeitung / Speichern für jede Bilddatei
for target in target_list:

    #Speichern Sie die Bilddatei im Bildobjekt
    img = Image.open(target_dir_path + '/' + target)

    #Holen Sie sich die Breite und Höhe des Bildes
    width = img.size[0]
    height = img.size[1]

    #Teilen und speichern Sie Bilder oben und unten
    img_qst = img.crop((0, 0, width, height/2))
    img_ans = img.crop((0, height/2, width, height))
    img_qst.save(anki_media_path + '/' + image_file_name + '_qst' + str(index)+ '.png')
    img_ans.save(anki_media_path + '/' + image_file_name + '_ans' + str(index)+ '.png')
    
    #Für csv
    qst_tag = '<img src="' + image_file_name + '_qst' + str(index)+ '.png' + '">'
    ans_tag = '<img src="' + image_file_name + '_ans' + str(index)+ '.png' + '">'
    Anki_csv.append(qst_tag + ',' + ans_tag + '\n')
    
    #Melden Sie sich nacheinander, wenn Sie fertig sind
    print('done ' + str(index))

    #Zählen Sie den Index der zu speichernden Bilddatei
    index += 1
    
#CSV-Erstellung
with open('/path/to/Desktop/toAnki.csv',mode='w') as f:
    for j in Anki_csv:
        f.write(j)

print('All work was done')

schließlich

Abschlag schwierig. Keine Erwähnung des Inhalts des Codes. Fragen oder Anregungen.

Recommended Posts

Ich habe ein Skript geschrieben, um goodnotes5 und Anki bei der Zusammenarbeit zu unterstützen
Ich habe ein Skript geschrieben, um ein WordPress-Plug-In hochzuladen
Ich habe ein Skript geschrieben, um eine beliebte Seite in Japan zu bekommen
Ich habe ein Skript geschrieben, mit dem Sie mit hoher Geschwindigkeit mit AtCoder beginnen können!
Ich habe gerade ein Skript geschrieben, um Android auf einem anderen Computer zu erstellen
Ich habe eine Funktion zum Laden des Git-Erweiterungsskripts in Python geschrieben
Holz kratzen und essen - ich möchte ein gutes Restaurant finden! ~ (Arbeit)
Ich habe ein Skript geschrieben, um Webseiten-Links in Python zu extrahieren
Ich habe eine Klasse in Python3 und Java geschrieben
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
Ich möchte mit einem Roboter in Python arbeiten.
"Stoppen Sie das Festschreiben japanischer Dateien für Git auf Mac> <" Vorerst habe ich ein Skript geschrieben, um nach inkompatiblen japanischen Dateien unter Mac und Linux zu suchen.
Ich war überrascht, eine nette Rezension zu erhalten, als ich Python an CheckIO und seine Erklärung schrieb
Ich habe ein Skript geschrieben, um mit AWS Lambda + Python 2.7 schnell eine Entwicklungsumgebung für Twitter Bot zu erstellen
Ich habe schnell ein Programm geschrieben, um DI mit Python zu lernen
Ich habe ein Skript geschrieben, das das Bild in zwei Teile teilt
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
Eine Geschichte über das Schreiben von AWS Lambda und ein wenig Abhängigkeit von den Standardwerten von Python-Argumenten
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
Ich habe ein POST-Skript erstellt, um ein Problem in Github zu erstellen und es im Projekt zu registrieren
Ich habe versucht, den Unterschied zwischen Config vor und nach der Arbeit mit pyATS / Genie selbst erstelltem Skript zu berücksichtigen
Ich habe ein Buch geschrieben, in dem Sie maschinelle Lernimplementierungen und -algorithmen auf ausgewogene Weise lernen können.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe einen Code geschrieben, um die Quaternion mit Python in einen Ölerwinkel vom Typ z-y-x umzuwandeln
Ich habe ein Netzwerk erstellt, um Schwarzweißbilder in Farbbilder umzuwandeln (pix2pix)
Ich habe ein Skript in Python erstellt, um MDD-Dateien in das Scrapbox-Format zu konvertieren
Ich habe ein Programm erstellt, um einzugeben, was ich gegessen habe, und um Kalorien und Zucker anzuzeigen
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Die Geschichte eines virtuellen Planetariums [bis es einem Anfänger gelingt, ein Modell mit einem Skript zu erstellen]
Plötzlich musste ich mit Python und Pyramid an einem Projekt arbeiten, also eine Notiz darüber, wie ich lerne
[Python] Ich habe ein Skript erstellt, das Dateien auf dem lokalen PC automatisch ausschneidet und auf eine externe SSD einfügt.