Ein Student, der ein Programm als Hobby schreibt. Ich verstehe die for-Anweisung.
macOS Catalina 10.15.7 python 3.8.6
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.
Mach 3 und 4 mit Python.
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 ">
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')
Abschlag schwierig. Keine Erwähnung des Inhalts des Codes. Fragen oder Anregungen.
Recommended Posts