Text gleichzeitig an einer bestimmten Position hinzufügen / ergänzeng

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Hallo Mitglieder,
Mein vorhaben ist ein Programm zu schreiben, das am ende für mich "hunderte" von HTML-skript einsetzen / schreiben erleichtern soll.
Am ende soll so es so aussehen! ZUERST ABER OHNE GUI!
Bild

Ich habe ein Python-script gefunden der für mich anscheint passt, das Problem ist nur das ich bisher nur ein Zeichen/Text einfügen/einsetzen kann. :cry: Ich brauche aber mindestens vier gleichzeitig, was am ende mir den fertigen HTML-skript ausgibt. >
<li><a href="https.//LINK.net" target="_blank"><img data-src="https.//BILD.net" class="lazyload" loading="lazy" title="TITLEXXX" border="2"/>NAMEXXX</a></li>
Mein Python-script :

Code: Alles auswählen

data_out = open("data.txt", "a")
i = '<li><a href="" target="_blank"><img data-src="" class="lazyload" loading="lazy" title="" border="2"/></a></li>\n'

def insertChar(mystring, position, chartoinsert):
    longi = len(mystring)
    mystring = mystring[:position] + chartoinsert + mystring[position:]
    return mystring

data_out.write(insertChar(i, 13, 'https://LINK.net'))
data_out.close()

#Vorschau
#data_out = open("data.txt", "r")
#print(data_out.read())
#data_out.close()
Ich brauche also die nächste Ergänzung an der "46" position (zwischen den " "zeichen von data-src="") usw.
Frage:
1. Ist das die Richtige bzw. Passender script für mein vorhaben?
2. Eventuell ein gibt es was anderes, besseres für mein vorhaben?
3. Wie bekommen ich eine Ausgabe mit mindestens 4 gleichzeitigen "Veränderungen"?

Ich bin NOOB und verzweifelt, bitte um Hilfe!
Viel Dank im Voraus!
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Mit f Strings z.B.:

Code: Alles auswählen

link = "https.//LINK.net"
bild = "https.//BILD.net"
tile = "TITLEXXX"
name = "NAMEXXX"


output = f'<li><a href="{link}" target="_blank"><img data-src="{bild}" class="lazyload" loading="lazy" title="{tile}" border="2"/>{name}</a></li>'
print(output)
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Jankie hat geschrieben: Donnerstag 1. Oktober 2020, 11:03 Mit f Strings z.B.:
Waoo so schnell und so einfach, VIELEN DANK!
Wie schreibe ich das jetzt nur in eine extra txt Datei > output.write mit dem "a modus" und "\n" damit sie unter einander rutschen?
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Möchtest du viele Elemente nach diesem Muster erstellen?
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Jankie hat geschrieben: Donnerstag 1. Oktober 2020, 11:43 Möchtest du viele Elemente nach diesem Muster erstellen?
Ja, wie oben erwähnt soll es mit eine hilfe sein mehrere HTML-scripte nach einander in einer extra Datei zu erstellen.
Zuletzt geändert von PyNeo am Donnerstag 1. Oktober 2020, 11:47, insgesamt 1-mal geändert.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@PyNeo: Möglicherweise möchtest du dir auch ein Template-System wie "Jinja" anschauen.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Das würde ich dann so machen:

Code: Alles auswählen

FILENAME = "output.txt"

def main():
    while True:
        href_link = input("Gib den Link für href ein: ")
        bild_link = input("Gib den Link für data-src ein: ")
        title = input("Gib den Title ein: ")
        name = input("Gib den Namen ein: ")
        output = f'<li><a href="{href_link}" target="_blank"><img data-src="{bild_link}" class="lazyload" loading="lazy" title="{title}" border="2"/>{name}</a></li>\n'
        with open(FILENAME, "a", encoding='UTF-8') as output_file:
            output_file.write(output)
        print(f"Element erstellt: \n{output}")

if __name__ == '__main__':
    main()
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

sparrow hat geschrieben: Donnerstag 1. Oktober 2020, 11:47 @PyNeo: Möglicherweise möchtest du dir auch ein Template-System wie "Jinja" anschauen.
Vielen Dank für den Tipp, hab es mir kurz angesehen und bin begeistert, das wollte ich auch gerne tun. Werde ich auch in angriff nehmen!
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Jankie hat geschrieben: Donnerstag 1. Oktober 2020, 11:50 Das würde ich dann so machen:
Ja das ist doch perfekt!
Wen das in eine GUI übernehmen kann? So wie ich mir das vorstelle, Bild dann bin ich der glücklichste Mensch auf der Welt!
Müsste funktionieren oder?
Hatte mich noch nicht mit GUI Aufbau befasst.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Müsste funktionieren, aber bisschen was solltest du noch selber lernen.
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Jankie hat geschrieben: Donnerstag 1. Oktober 2020, 15:46 Müsste funktionieren, aber bisschen was solltest du noch selber lernen.
Selbst verständlich, da ist auch der reiz dran.
Ich werde es sofort ausprobieren.
Oder ist es für mein vorhaben mit GUI ein ganz andere Code besser oder leichter?
Ist eventuell ein Tutorial zur diesem Thema im Forum bekannt, womit ich Anfangen kann?

Eure Hilfe und Tipps haben mir sehr geholfen und eine menge gelernt. Vielen Dank dafür.
Antworten