snippets:python

Code-Schnipsel: Python

Ein paar Python-Code-Schnipsel, zum Großteil als Gedächtnisstütze bzw. Spickzettel für uns gedacht.

Folgender Code-Schnipsel erzeugt einen Zeitstempel nach ISO 8601 (z.B. 2039-01-19T03:14:07+00:00). Parameter für isoformat():

  • sep trennt Datum und Uhrzeit (Standard: „T“)
  • timespec legt die Genauigkeit fest (Standard: „auto“, mögliche weitere Werte u.a. „minutes“, „seconds“, „milliseconds“)
import datetime
 
local_time = datetime.datetime.now(datetime.timezone.utc).astimezone()
 
print("Mein Favorit für Logfiles o.ä.:")
print("\t" + local_time.isoformat(timespec="seconds"))
print("Format wie bei »date --rfc-3339=seconds«")
print("\t" + local_time.isoformat(" ", "seconds"))

Die IMHO am einfachsten zu verwendende Python-Schnittstelle ist Wyattjoh/pushover. Leider ist die Installation nicht ganz trivial, da es nicht via PyPi, sondern via GitHub installiert wird:

pip install git+https://github.com/Wyattjoh/pushover@5852545c5b9cf2717e1eafc4c8b134a08b0994da
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 
# Usage:
#     echo "My message.\nLorem ipsum dolor sit amet." | pushover-notify.py
#     echo "My message.\nLorem ipsum dolor sit amet." | pushover-notify.py "Message from the CLI"
# 
 
import sys
import os
from pushover import Pushover
 
class Config(object):
	api_key  = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	user_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 
def main(message, title):
	po = Pushover(Config.api_key)
	po.user(Config.user_key)
 
	msg = po.msg(message)
	msg.set("title", title)
	po.send(msg)
 
if __name__ == "__main__":
	title   = sys.argv[1] if len(sys.argv) > 2 else os.uname().nodename
	message = sys.stdin.read()
	main(message, title)
  • snippets/python.txt
  • Zuletzt geändert: 2022/02/26 08:33
  • von malte70