Seite 1 von 1

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

Verfasst: Donnerstag 1. Oktober 2020, 10:51
von PyNeo
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!

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

Verfasst: Donnerstag 1. Oktober 2020, 11:03
von Jankie
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)

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

Verfasst: Donnerstag 1. Oktober 2020, 11:31
von PyNeo
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?

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

Verfasst: Donnerstag 1. Oktober 2020, 11:43
von Jankie
Möchtest du viele Elemente nach diesem Muster erstellen?

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

Verfasst: Donnerstag 1. Oktober 2020, 11:46
von PyNeo
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.

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

Verfasst: Donnerstag 1. Oktober 2020, 11:47
von sparrow
@PyNeo: Möglicherweise möchtest du dir auch ein Template-System wie "Jinja" anschauen.

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

Verfasst: Donnerstag 1. Oktober 2020, 11:50
von Jankie
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()

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

Verfasst: Donnerstag 1. Oktober 2020, 14:03
von PyNeo
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!

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

Verfasst: Donnerstag 1. Oktober 2020, 14:07
von PyNeo
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.

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

Verfasst: Donnerstag 1. Oktober 2020, 15:46
von Jankie
Müsste funktionieren, aber bisschen was solltest du noch selber lernen.

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

Verfasst: Donnerstag 1. Oktober 2020, 16:56
von PyNeo
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.