Hallo, Gast |
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.
|
Foren-Statistiken |
» Mitglieder: 1
» Neuestes Mitglied: Joopi
» Foren-Themen: 513
» Foren-Beiträge: 726
Komplettstatistiken
|
Benutzer Online |
Momentan sind 10 Benutzer online » 0 Mitglieder » 5 Gäste AhrefsBot, Bing, Crawl, DotBot, bot
|
Aktive Themen |
Friday - 23:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Heute, 07:55
» Antworten: 0
» Ansichten: 2
|
Friday - 13:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 10:03
» Antworten: 0
» Ansichten: 2
|
Thursday - 22:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 06:46
» Antworten: 0
» Ansichten: 5
|
Thursday - 13:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
17-04-2025, 09:43
» Antworten: 0
» Ansichten: 4
|
Thursday - 03:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
17-04-2025, 12:07
» Antworten: 0
» Ansichten: 4
|
Wednesday - 18:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
17-04-2025, 02:52
» Antworten: 0
» Ansichten: 7
|
Wednesday - 06:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
16-04-2025, 02:28
» Antworten: 0
» Ansichten: 12
|
Tuesday - 21:00 CDT: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
16-04-2025, 05:18
» Antworten: 0
» Ansichten: 11
|
Tuesday - 14:00 CDT: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
15-04-2025, 10:38
» Antworten: 0
» Ansichten: 11
|
Tuesday - 00:00 CDT: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
15-04-2025, 08:42
» Antworten: 0
» Ansichten: 16
|
|
|
Wichtige Befehle für arch-basierte Distributionen |
Geschrieben von: Joopi - 15-03-2023, 10:24 - Forum: Linux
- Keine Antworten
|
 |
Arch-Spezifische Befehle
Befehl Beschreibung
makepkg Paket aus einer PKGBUILD erstellen
abs abs-tree updaten
makeworld system mit Hilfe von abs komplett neu compilieren
pacman -Syu komplettes Systemupdate
pacman -S (paket) Programm mittels pacman installieren. Um mehrere Pakete zu installieren, einfach die Namen durch Leerzeichen getrennt hintereinander auflisten
pacman -Sc veraltete Pakete aus dem pacman-cache löschen
pacman -Scc alle Pakete aus dem pacman-cache löschen
pacman -Qe verwaiste Pakete anzeigen (Vorsicht: manuell installierte Pakete werden NICHT mit aufgelistet!)
pacman -Rs Paket incl. seiner Abhängigkeiten deinstallieren (Vorsicht: manuell installierte Pakete werden NICHT mit deinstalliert!)
pacman -Q Alle installierten Pakete inklusive Versionsnummer anzeigen
pacman -Qq Alle installierten Pakete ohne Versionsnummer anzeigen
pacman -V (paket) Versionsnummer eines Paketes ermitteln
pacman -Rcsn `pacman -Qdtq` alle verwaisten Pakete löschen
|
|
|
Welche Prozesse mit Python sind aktiv? |
Geschrieben von: Joopi - 27-02-2023, 05:53 - Forum: Programmieren
- Keine Antworten
|
 |
Dann und wann ist es wichtig zu wissen, welche Prozesse gerade laufen. Wird auf etwas spezielles gezielt, könnte für Python wie folgt vorgegangen werden:
Code: ps -fA | grep python
Damit werde alle Prozesse aufgelistet, die etwas mit Python zu tun haben.
Im Falle der Fälle kann ein Prozess wie folgt gelöscht werden:
PID steht hier stellvertretend für die Nummer des Prozesse (process-id)
|
|
|
Virtualbox, Windows und Geräte |
Geschrieben von: Joopi - 25-02-2023, 02:56 - Forum: Linux
- Keine Antworten
|
 |
Im Privatleben nutze ich seit 2010 kein Windowssystem mehr. Beruflich allerdings habe ich alle Phasen von Windows, bis auf das unsägliche Windows 8.x, mitgemacht bzw. mache es noch mit. Aktuell sind wir auf Windows 10 unterwegs.
Somit will ich mich, da ich auf meinem Dienstnotebook nur die normalen Userrechte habe, natürlich insgesamt schlauer machen und ggfs. auf Störungen besser reagieren bzw. mich besser mitteilen können. Und so hat es sich irgendwann ergeben, dass ich Windows in virtuellen Maschinen, die ich mit Virtual Box betreibe, mit verschiedensten Version installiert habe. Von Windows 3.1 bis Windows 11, mit Ausnahme Windows 8.x, habe ich alles in VMs gepackt. Auch aus nostalgischen Gründen. Schließlich war der Umstieg von MS-DOS auf Windows 3.0 damals ein richtig großer und einschneidender Akt. Grafische Oberfläche und eine Maus? Uih!
Bis vor 3 Wochen war Windows 10 die aktuellste Version, die ich hatte. Windows 11 war seinerzeit noch nicht installiert. Am Ende eines normalen Updates von Windows 10 brach der Vorgang ab und die VM schloss sich mit dem Hinweis abgebrochen.
Naja, da ich nicht produktiv mit der VM arbeite, war es mir zunächst egal, denn die VM ließ sich nicht mehr starten. Nix ging. Auch die vorherigen Sicherungspunkte ließen mich nicht mehr an das Windowssystem herankommen. Auch wenn es nicht wichtig war, war ich frustriert. Ich wollte wissen, warum der Fehler aufgetreten war.
Seit heute weiß ich das.
Leider ließ sich die zwischenzeitlich installierte Version 11 von Windows auf einmal nicht mehr starten. WTF?
Auch die zwischenzeitlich wieder aufgepäppelte Version 10 hatte nach einem neuerlichen Update wieder ein Problem.
Beide Versionen ließen sich nicht mehr starten. Dagegen wollte Version 7 durchaus aus den Puschen kommen. Mit dieser Version gab es keine Probleme.
Die Grund für das Nichtstarten war folgender:
In Windows 10 hatte ich den Scanner installiert und probehalber etwas gescannt. Das ging gut. Es ist immer wichtig, Ausweichmöglichkeiten zu haben.
Als ich fertig war, wollte ich die VM herunterfahren, musste aber ein Update zulassen. Diese Zwangsupdates, wenn man vergisst diese temporär abzustellen, sind echt zum Kotzen. Somit wählte ich die Option aktualisieren und neustarten.
Und schon brach kurz vor dem Ende die Aktualisierung ab und Windows 10 ließ sich nicht mehr starten. Hä?
Zum Test startete ich Windows 11 und siehe da: Windows 11 ließ sich nicht mehr starten (Windows 7 jedoch schon).
Und dann viel mir auf, dass der Scanner noch betriebsbereit war. Hm, sollte er das Problem sein?
Mir fiel ein, dass der Scanner auch genutzt worden war, als Windows 10 zum ersten Mal diese Probleme hatte. Jo, der SCANNER!
Also trennte ich den Scanner vom Computer und Windows 11 startet als wäre nie etwas geschehen. Hoppla!
Der Start von Windows 10 erfolgt mit irgendwelchen Reparaturschritten, aber immerhin konnten die abgebrochenen Updates erneuert heruntergeladen und installiert werden. Danach ließ sich Windows 10 ganz normal starten.
Ok, das bedeutet, dass der Scanner zwar angestöpselt, aber nicht betriebsbereit sein darf. Wenn er es ist, starten zumindest die Versionen 10 und 11 von Windows nicht und etwaige Updates werden nicht ordnungsgemäß installiert. Warum das so ist, möchte ich nicht wissen. Wer weiß, in welches Tal der Tränen ich dann abstürze. Es liegt möglicherweise nicht an den Windowsversionen, sondern eher an meinem Linuxsystem in Verbindung mit Virtual Box und den Gastsystemen von Windows.
Wenn der Scanner betriebsbereit ist, starten alle VMs der Linux- und BSD-Versionen ohne einen kläglichen Mucks. Insofern stütze ich meine These auf den letzten Absatz.
|
|
|
Dateisuche mit Wildcards |
Geschrieben von: Joopi - 11-02-2023, 08:06 - Forum: Programmieren
- Keine Antworten
|
 |
Ich möchte gerne Dateien suchen, um festzustellen, ob diese auf meinem System vorhanden sind. Ich kenne aber nicht immer den kompletten Dateinamen, sondern nur Fragemente. Somit ist die Suche mit Wildcards angesagt - in diesem Falle reicht das Sternchen.
Folgender Code sucht nach einer Datei:
Code: import pathlib
pfad = "/media/download/it/"
# such = "_05_benutzer_und_gruppen_bash_grundlagen_p3nqi8jsmtw.mp4"
such = "*p3nqi8jsmtw*.*"
# Diese Suche arbeitet mit Wildcards und gibt eine Liste aus.
filepath = sorted(pathlib.Path(pfad).glob(f"**/{such}"))
print("Nur pathlib:")
print(filepath[0])
Die Ausgabe ist:
Zitat:Nur pathlib:
/media/download/it/a_kanal/bashinho/_05_benutzer_und_gruppen_bash_grundlagen_p3nqi8jsmtw.mp4
Es gibt noch Möglichkeiten über os und glob nach Dateien zu suchen, jedoch habe ich es nicht geschafft, auch hierbei Wildcards einzusetzen.
|
|
|
Hochkomma als Textstandard entfernen |
Geschrieben von: Joopi - 10-02-2023, 06:32 - Forum: Excel und LibreOffice Calc
- Keine Antworten
|
 |
Ich hatte das Problem, dass ein Datum nicht als Datum, sondern als Text formatiert war. Mit einem führenden Hochkomma (single quote) wurde früher, aber wohl auch noch heute, gerne ein Wert in einer Zelle als Text dargestellt. Dabei scheint es sich nur um ein Formatierungszeichen zu handeln, denn bei der Länge des Wertes wird das Hochkomma nicht mitgezählt.
Der Eintrag in der Zelle wurde linksbündig geschrieben und sah wie folgt aus:
Zitat:'08.01.1989
Wenn es nur ein Tabelleneintrag ist, dann kan man schnell das Hochkomma entfernen und schon ist der Wert so zu formatieren, wie man es wünscht. Bei mehr als 400 Werten in der Tabelle würde dieses Vorgehen eine Fleißarbeit und Fingerübung darstellen.
Wie gesagt, bei der Längenberechnung wird das Hochkomma nicht mitgezählt. Die Länge-Funktion gibt als Ergebnis 10 aus. Daher war es auch nicht verwunderlich, dass mit /Bearbeiten/Suchen und Ersetzen kein Erfolg zu erzielen war. Das Hochkomma blieb hartnäckig in der Zelle.
Die Lösung war dann folgende Kombination der Funktionen Wert und Wechseln (Textdatum steht in Zelle D12):
Code: =WERT(WECHSELN(D12;"'";""))
Das Formelergebnis lautet: 32516
Und wenn die Zelle mit tt.mm.jjjj formatiert wird, dann sieht das Datum nach meinem Geschmack aus: 08.01.1989
|
|
|
Code vereinfachen, wenn eine Textdatei geöffnet wird |
Geschrieben von: Joopi - 01-02-2023, 10:16 - Forum: Programmieren
- Keine Antworten
|
 |
Wie immer gibt es verschiedene Wege, um etwas zu erreichen. Das Öffnen einer Datei zum Lesen kann wie folgt programmiert werden:
Code: with open("text.txt", "r") as f:
text = f.read()
print(text)
Bei diesem Code muss nicht explizit die Datei mit einer close-Anweisung wieder geschlossen werden.
|
|
|
Darstellung der Tageszeit |
Geschrieben von: Joopi - 23-01-2023, 10:30 - Forum: Programmieren
- Keine Antworten
|
 |
Nicht immer, und schon gar nicht überall, wird die Zeit wie bei uns im 24-Stunden-Modus angezeigt.
In den USA, wohl auch in Kanada, ist immer noch die 12-Stunden-Anzeige mit am und pm angesagt.
Und so ist es auch nicht verwunderlich, dass in Python oftmals die 12-Stunden-Anzeige als default-Wert steht.
Natürlich ist das zu Umgehen, indem die richtige Formatierung der Zeitausgabe angewandt wird. Oftmals ist es nur eine Kleinigkeit, die über 12- bzw. 24-Stunden-Anzeige entscheidet.
Mit dem nachfolgenden Code wird die 12-Stunden-Anzeige für 08:23:10 ausgegeben (I):
Code: zstart = datetime.datetime.fromtimestamp(startzeit).strftime("%I:%M:%S")
Mit dem nachfolgenden Code wird die 24-Stunden-Anzeige für 20:23:10 ausgegeben (H):
Code: zstart = datetime.datetime.fromtimestamp(startzeit).strftime("%H:%M:%S")
|
|
|
Bildbearbeiter wird schneller |
Geschrieben von: Joopi - 23-01-2023, 10:19 - Forum: Programmieren
- Keine Antworten
|
 |
Mit einem Shellskript bearbeite ich Bilder, die in diversen Ordner organisiert sind. Die Bilder werden geprüft, ggf. in jpg-Format konvertiert und auf eine maximale Seitenlänge von 1.024 Pixel verkleinert.
Das Shellskript habe ich nun in einem Pythonskript nachgebaut. Es sind die gleichen Funktionen enthalten.
Zunächst hatte ich den Gedanken, dass das Shellskript wesentlich schneller sein würde als das Pythonskript. Ein Test hat aber gezeigt, dass dem nicht so ist. Und das hat mich schon verwundert. Zumal das Pythonskript noch verbesserungswürdig ist.
Natürlich hat der Test und das Testresultat keine wissenschaftliche Grundlage, aber interessant finde ich es trotzdem. Hier sind die Ergebnisse:
Shellskript:
Zitat:Das ist die gemessene Zeit in Sekunden: 458
Das ist die gemessene Zeit in Minuten: 7.63 --> 00:07:38
Das ist die gemessene Zeit in Stunden: .12
Pythonskript:
Zitat:Das war die Startzeit: 18:07:26
Das war die Endzeit : 18:14:05
Das ist die Dauer : 00:06:39
|
|
|
Große Zahlen für Menschen lesbar darstellen |
Geschrieben von: Joopi - 23-01-2023, 07:20 - Forum: Programmieren
- Keine Antworten
|
 |
Dann und wann sind Zahlen so groß, dass diese kaum auf den ersten Blick lesbar sind.
Es gibt aber die Möglichkeit, in der Konsole wie auch in einem Pythonskript, solche Zahlen, die meist eine Größe darstellen, für Menschen besser lesbar zu machen.
Der nachfolgende Codeschnipsel zeigt es:
Code: from humanize import naturalsize
import os
file_size = os.path.getsize(bilddatei)
print(f"Ich bin so groß: {naturalsize(file_size)}")
|
|
|
Bilder auf eine maximale Seitenbreite/-höhe verkleinern |
Geschrieben von: Joopi - 23-01-2023, 06:00 - Forum: Programmieren
- Keine Antworten
|
 |
Viele Bilder, die ich in meiner Sammlung habe, brauche ich nicht in der Originalgröße mehreren MegaBytes. Daher reduziere ich alle diese Bilder auf eine maximale Breite oder maximale Höhe von 1.024 Pixel.
In der Konsole erledige ich diese Aufgabe mit dem Tool ffprobe und muss mich mehr oder weniger um nichts kümmern. In Python sieht auch das anders aus.
Der folgende Codeschnipsel, der noch stark verbesserungswürdig ist, erledigt diese Aufgabe.
Code: import os
import pathlib
from PIL import Image
import PIL
for bildordner in pathlib.Path(rename_ordner).iterdir():
if bildordner.is_dir():
os.chdir(bildordner)
for bilddatei in pathlib.Path(os.getcwd()).iterdir():
if bilddatei.is_file():
imgfile = Image.open(rf"{bilddatei}")
# Breite x Höhe.
# Ausgabe in Tuple.
# Der Maximalwert ist 1024 Pixel für Breite oder Höhe - je nach dem.
width, height = imgfile.size
if width > 1024 or height > 1024:
# Berechnung auf Grundlage des Maximalwertes von 1024
if width >= height:
verhaeltnis = height * 100 / width
widthnew = 1024
heightnew = verhaeltnis * widthnew / 100
newsize = (int(widthnew), int(heightnew))
imgfile = imgfile.resize(newsize)
imgfile = imgfile.save(bilddatei)
elif height > width:
verhaeltnis = width * 100 / height
heightnew = 1024
widthnew = verhaeltnis * heightnew / 100
newsize = (int(widthnew), int(heightnew))
imgfile = imgfile.resize(newsize)
imgfile = imgfile.save(bilddatei)
os.chdir("..")
|
|
|
|