Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
wiki:python [2023/05/31 15:28] – [venv] techguruwiki:python [2023/11/30 09:36] (aktuell) – [Datum] techguru
Zeile 9: Zeile 9:
  
 ===== venv ==== ===== venv ====
 +Eignet sich um in einer vom System abgetrennten Python Umgebung neue Pakete zu installieren um hier Python Programme zu testen .
 +
 +Die Python Module lassen sich in der Umgebung mit ''pip'' installieren und anzeigen. Die in der Umgebung installierten Module lassen sich anzeigen mit:
 +
 +  pip list
 +
 +
 Nun kann man eine eigene Umgebung schaffen in der nur die neue Python Version Verwendung findet. Hierzu wird ein neues Verzeichnis angelegt z.B. //ocsp-checker310// und dann das Kommando aufgerufen: Nun kann man eine eigene Umgebung schaffen in der nur die neue Python Version Verwendung findet. Hierzu wird ein neues Verzeichnis angelegt z.B. //ocsp-checker310// und dann das Kommando aufgerufen:
  
Zeile 15: Zeile 22:
 Die Umgebung aktivieren mit: Die Umgebung aktivieren mit:
  
-  source ~ checker310/bin/activate+  source ~/checker310/bin/activate
      
 +Überprüfen welche Version verwendet wird mit ''python -V'' oder mit:
 +
   (ocsp-checker310) tux@iglu:~/ocsp-checker310> pip3 --version   (ocsp-checker310) tux@iglu:~/ocsp-checker310> pip3 --version
   pip 22.3.1 from /home/tux/ocsp-checker310/lib64/python3.10/site-packages/pip (python 3.10)   pip 22.3.1 from /home/tux/ocsp-checker310/lib64/python3.10/site-packages/pip (python 3.10)
  
      
 +In der Umgebung evtl. den Proxy nutzbar machen:
 +
 +  (ocsp-checker310) tux@iglu:~/ocsp-checker310> export http_proxy=http://tux:geheim@internet.example.de:8181
 +  (ocsp-checker310) tux@iglu:~/ocsp-checker310> export https_proxy=http://tux:geheim@internet.example.de:8181
 +
 +
 +Im Python-Umgebung wieder verlassen durch Eingabe von:
 +
 +  deactivate
      
  
 +===== Listen =====
 +
 +Listen sind für mich in Python immer wichtig, daher kommen sie hier zuerst.
 +
 +Nur bestimmte Elemente aus einer Liste heraus filtern:
 +
 +  list( myBigList[i] for i in [87, 342, 217, 998, 500] )
 +
 +
 +===== subprocess =====
 +
 +Verwendung vom Modul ''subprocess'' um Standard Kommandos im Python Code auszuführen.
 +
 +  import subprocess
 +
 +
 +<code python>
 +run = subprocess.run('openssl x509 -in RON_SBS.pem -text -noout|grep -A2 -i Validity|grep -i "Not After"', stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
 +>>> 
 +>>> 
 +>>> run
 +CompletedProcess(args='openssl x509 -in RON_SBS.pem -text -noout|grep -A2 -i Validity|grep -i "Not After"', returncode=0, stdout=b'            Not After : Oct 18 09:30:41 2044 GMT\n', stderr=b'')
 +</code>
 +
 +
 +Hierbei möchte man oft an den Output kommen. Das erzeugte ''run'' Obj. ist ein subprocess-Obj. und hat damit weitere Optionen.
 +
 +<code python>
 +>>> run.stdout
 +b'            Not After : Oct 18 09:30:41 2044 GMT\n'
 +
 +>>> run_str = str(run.stdout)
 +>>> run_lst = run_str.split(" ")
 +
 +>>> run_lst[15:19]
 +['Oct', '18', '09:30:41', '2044']
 +
 +</code>
 +
 +
 +===== Datum =====
 +
 +Das aktuelle Datum ausgeben
 +
 +<code python>
 +from datetime import date
 +
 +>>> date.today().isoformat()
 +'2023-06-15'
 +</code>
 +
 +
 +===== String Bearbeitung =====
 +
 +Vom String line = "{VLAN_0300}" sollen die geschweiften Klammern sowie das "VLAN_" komplett entfernt werden. Hier für eignet sich ''strip()'' am besten:
 +
 +  line.strip('{VLAN_}
 +  
 +Soll nur das letzte Zeichen "}" entfernt werden:
 +
 +  line[:-1]
 +  
wiki/python.1685539738.txt.gz · Zuletzt geändert: 2023/05/31 15:28 von techguru