03. Jupyter Notebook

ehemalige Veranstaltungen ia3.netz + ia3.data sowie ia4.Netz im Studiengang Interaktive Medien

(c) 2020 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever

In [1]:
# Python 2:

print "Dies ist ein String", 4.5
  File "<ipython-input-1-1e469bd26b80>", line 3
    print "Dies ist ein String", 4.5
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Dies ist ein String", 4.5)?
In [4]:
try:
    x = 1/0
except SyntaxError, e:
    print("Syntaxerror")
  File "<ipython-input-4-9bf908040ab3>", line 3
    except SyntaxError, e:
                      ^
SyntaxError: invalid syntax
In [5]:
try:
    x = 1/0
except SyntaxError as e:
    print("Syntaxerror")
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-5-a379fedbf4b8> in <module>()
      1 try:
----> 2     x = 1/0
      3 except SyntaxError as e:
      4     print("Syntaxerror")

ZeroDivisionError: division by zero
In [6]:
try:
    x = 1/0
except:
    print("Error")
Error
In [8]:
try:
    x = 1/0
except ZeroDivisionError as e:
    print("ZeroDivisioError",e)
except:
    print("Error")
ZeroDivisioError division by zero
In [10]:
try:
    open("irgendeine Datei")
except ZeroDivisionError as e:
    print("ZeroDivisioError",e)
except:
    print("Error")
Error
In [11]:
try:
    open("irgendeine Datei")
except ZeroDivisionError as e:
    print("ZeroDivisioError",e)
except:
    raise
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-11-cbd595ab3e45> in <module>()
      1 try:
----> 2     open("irgendeine Datei")
      3 except ZeroDivisionError as e:
      4     print("ZeroDivisioError",e)
      5 except:

FileNotFoundError: [Errno 2] No such file or directory: 'irgendeine Datei'
In [12]:
try:
    open("irgendeine Datei")
except ZeroDivisionError as e:
    print("ZeroDivisioError",e)
except FileNotFoundError as e:
    print("Ihre Eingabe eines Dateinamens ist falsch, die Datei wurde nicht gefunden")
Ihre Eingabe eines Dateinamens ist falsch, die Datei wurde nicht gefunden
In [13]:
a = 2/3
In [14]:
a
Out[14]:
0.6666666666666666
In [15]:
%%writefile uebergabe.py
print("Wir sind jetzt in uebergabe.py")

try:
    print("__file__:",__file__)
except:
    print("__file__ existiert nicht")

print("uebergabe.py: __name__",__name__)

if __name__ == "__main__":
    print("jetzt habe ich uebergabe.py direkt aufgerufen")
else:
    print("wir verlassen jetzt uebergabe.py")
Writing uebergabe.py
In [16]:
!python uebergabe.py
Wir sind jetzt in uebergabe.py
__file__: uebergabe.py
uebergabe.py: __name__ __main__
jetzt habe ich uebergabe.py direkt aufgerufen
In [17]:
%%writefile test.py
print("Wir sind jetzt in test.py")

import uebergabe

print("nach dem import von uebergabe")

print("test.py: __name__:",__name__)
Overwriting test.py
In [18]:
!python test.py
Wir sind jetzt in test.py
Wir sind jetzt in uebergabe.py
__file__: C:\Users\nikkl\uebergabe.py
uebergabe.py: __name__ uebergabe
wir verlassen jetzt uebergabe.py
nach dem import von uebergabe
test.py: __name__: __main__
In [28]:
import glob
import json
import pprint

def leseDatei(dateiname):
    try:
        datei = open(dateiname,"r")
        gesamterText = datei.read()
        datei.close()
        return gesamterText
    except IOError:
        print("Die Datei {} wurde nicht gefunden".format(dateiname))
        return None

x = glob.glob("*.ipynb")
print(x)
if len(x)>0: rs = leseDatei(x[0])
else: rs = "{}"

ipynb = json.loads(rs)

#pprint.pprint(ipynb)

ersteZelle = ipynb['cells'][0]
print(ersteZelle['cell_type'])
print(ersteZelle['source'])

pprint.pprint(ipynb)
['01. Jupyter Notebook.ipynb', '02. Jupyter Notebook.ipynb', '03. Jupyter Notebook.ipynb']
code
['8+9']
{'cells': [{'cell_type': 'code',
            'execution_count': 1,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['17']},
                         'execution_count': 1,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['8+9']},
           {'cell_type': 'code',
            'execution_count': 5,
            'metadata': {},
            'outputs': [],
            'source': ['a = 2*7']},
           {'cell_type': 'code',
            'execution_count': 6,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['14']},
                         'execution_count': 6,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a']},
           {'cell_type': 'code',
            'execution_count': None,
            'metadata': {},
            'outputs': [],
            'source': []},
           {'cell_type': 'markdown',
            'metadata': {},
            'source': ['# Ãœberschrift\n',
                       '\n',
                       '## Unterüberschrift\n',
                       '\n',
                       'Ein entsprechender **Text in Bold** und in *italics* '
                       'ausgegeben wird']},
           {'cell_type': 'code',
            'execution_count': 9,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['14\n']}],
            'source': ['print(a)']},
           {'cell_type': 'code',
            'execution_count': 10,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['int']},
                         'execution_count': 10,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['type(a)']},
           {'cell_type': 'code',
            'execution_count': 11,
            'metadata': {},
            'outputs': [],
            'source': ['import os']},
           {'cell_type': 'code',
            'execution_count': 12,
            'metadata': {},
            'outputs': [{'ename': 'NameError',
                         'evalue': "name 'getpid' is not defined",
                         'output_type': 'error',
                         'traceback': ['\x1b[1;31m---------------------------------------------------------------------------\x1b[0m',
                                       '\x1b[1;31mNameError\x1b[0m                                 '
                                       'Traceback (most recent call last)',
                                       '\x1b[1;32m<ipython-input-12-c344a67d685c>\x1b[0m '
                                       'in '
                                       '\x1b[0;36m<module>\x1b[1;34m()\x1b[0m\n'
                                       '\x1b[1;32m----> 1\x1b[1;33m '
                                       '\x1b[0mgetpid\x1b[0m\x1b[1;33m(\x1b[0m\x1b[1;33m)\x1b[0m\x1b[1;33m\x1b[0m\x1b[0m\n'
                                       '\x1b[0m',
                                       '\x1b[1;31mNameError\x1b[0m: name '
                                       "'getpid' is not defined"]}],
            'source': ['getpid()']},
           {'cell_type': 'code',
            'execution_count': 13,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['7016']},
                         'execution_count': 13,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['os.getpid()']},
           {'cell_type': 'code',
            'execution_count': 14,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'C:\\\\Users\\\\nikkl'"]},
                         'execution_count': 14,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['os.getcwd()']},
           {'cell_type': 'code',
            'execution_count': 15,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ["<class 'int'>\n"]}],
            'source': ['x=os.getpid()\n', 'print(type(x))']},
           {'cell_type': 'code',
            'execution_count': 16,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['True\n']}],
            'source': ['if True:\n', '    print(True)']},
           {'cell_type': 'code',
            'execution_count': 17,
            'metadata': {},
            'outputs': [{'ename': 'IndentationError',
                         'evalue': 'expected an indented block '
                                   '(<ipython-input-17-e69bf44c797e>, line 2)',
                         'output_type': 'error',
                         'traceback': ['\x1b[1;36m  File '
                                       '\x1b[1;32m"<ipython-input-17-e69bf44c797e>"\x1b[1;36m, '
                                       'line \x1b[1;32m2\x1b[0m\n'
                                       '\x1b[1;33m    print(False)\x1b[0m\n'
                                       '\x1b[1;37m        ^\x1b[0m\n'
                                       '\x1b[1;31mIndentationError\x1b[0m\x1b[1;31m:\x1b[0m '
                                       'expected an indented block\n']}],
            'source': ['if True:\n', 'print(False)']},
           {'cell_type': 'code',
            'execution_count': 18,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['1\n', '4\n', 'tab\n']}],
            'source': ['if True:\n',
                       '    print(1)\n',
                       '    print(4)\n',
                       '    print("tab")']},
           {'cell_type': 'code',
            'execution_count': 19,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['Type help() for interactive '
                                                 'help, or help(object) for '
                                                 'help about object.']},
                         'execution_count': 19,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['help']},
           {'cell_type': 'code',
            'execution_count': 22,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['\n',
                                  "Welcome to Python 3.7's help utility!\n",
                                  '\n',
                                  'If this is your first time using Python, '
                                  'you should definitely check out\n',
                                  'the tutorial on the Internet at '
                                  'https://docs.python.org/3.7/tutorial/.\n',
                                  '\n',
                                  'Enter the name of any module, keyword, or '
                                  'topic to get help on writing\n',
                                  'Python programs and using Python modules.  '
                                  'To quit this help utility and\n',
                                  'return to the interpreter, just type '
                                  '"quit".\n',
                                  '\n',
                                  'To get a list of available modules, '
                                  'keywords, symbols, or topics, type\n',
                                  '"modules", "keywords", "symbols", or '
                                  '"topics".  Each module also comes\n',
                                  'with a one-line summary of what it does; to '
                                  'list the modules whose name\n',
                                  'or summary contain a given string such as '
                                  '"spam", type "modules spam".\n',
                                  '\n',
                                  'help> quit\n',
                                  '\n',
                                  'You are now leaving help and returning to '
                                  'the Python interpreter.\n',
                                  'If you want to ask for help on a particular '
                                  'object directly from the\n',
                                  'interpreter, you can type "help(object)".  '
                                  'Executing "help(\'string\')"\n',
                                  'has the same effect as typing a particular '
                                  'string at the help> prompt.\n']}],
            'source': ['help()']},
           {'cell_type': 'code',
            'execution_count': 23,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["['In',\n",
                                                 " 'Out',\n",
                                                 " '_',\n",
                                                 " '_1',\n",
                                                 " '_10',\n",
                                                 " '_13',\n",
                                                 " '_14',\n",
                                                 " '_19',\n",
                                                 " '_21',\n",
                                                 " '_4',\n",
                                                 " '_6',\n",
                                                 " '__',\n",
                                                 " '___',\n",
                                                 " '__builtin__',\n",
                                                 " '__builtins__',\n",
                                                 " '__doc__',\n",
                                                 " '__loader__',\n",
                                                 " '__name__',\n",
                                                 " '__package__',\n",
                                                 " '__spec__',\n",
                                                 " '_dh',\n",
                                                 " '_exit_code',\n",
                                                 " '_i',\n",
                                                 " '_i1',\n",
                                                 " '_i10',\n",
                                                 " '_i11',\n",
                                                 " '_i12',\n",
                                                 " '_i13',\n",
                                                 " '_i14',\n",
                                                 " '_i15',\n",
                                                 " '_i16',\n",
                                                 " '_i17',\n",
                                                 " '_i18',\n",
                                                 " '_i19',\n",
                                                 " '_i2',\n",
                                                 " '_i20',\n",
                                                 " '_i21',\n",
                                                 " '_i22',\n",
                                                 " '_i23',\n",
                                                 " '_i3',\n",
                                                 " '_i4',\n",
                                                 " '_i5',\n",
                                                 " '_i6',\n",
                                                 " '_i7',\n",
                                                 " '_i8',\n",
                                                 " '_i9',\n",
                                                 " '_ih',\n",
                                                 " '_ii',\n",
                                                 " '_iii',\n",
                                                 " '_oh',\n",
                                                 " 'a',\n",
                                                 " 'exit',\n",
                                                 " 'get_ipython',\n",
                                                 " 'os',\n",
                                                 " 'quit',\n",
                                                 " 'x']"]},
                         'execution_count': 23,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['dir()']},
           {'cell_type': 'code',
            'execution_count': 24,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["['__abs__',\n",
                                                 " '__add__',\n",
                                                 " '__and__',\n",
                                                 " '__bool__',\n",
                                                 " '__ceil__',\n",
                                                 " '__class__',\n",
                                                 " '__delattr__',\n",
                                                 " '__dir__',\n",
                                                 " '__divmod__',\n",
                                                 " '__doc__',\n",
                                                 " '__eq__',\n",
                                                 " '__float__',\n",
                                                 " '__floor__',\n",
                                                 " '__floordiv__',\n",
                                                 " '__format__',\n",
                                                 " '__ge__',\n",
                                                 " '__getattribute__',\n",
                                                 " '__getnewargs__',\n",
                                                 " '__gt__',\n",
                                                 " '__hash__',\n",
                                                 " '__index__',\n",
                                                 " '__init__',\n",
                                                 " '__init_subclass__',\n",
                                                 " '__int__',\n",
                                                 " '__invert__',\n",
                                                 " '__le__',\n",
                                                 " '__lshift__',\n",
                                                 " '__lt__',\n",
                                                 " '__mod__',\n",
                                                 " '__mul__',\n",
                                                 " '__ne__',\n",
                                                 " '__neg__',\n",
                                                 " '__new__',\n",
                                                 " '__or__',\n",
                                                 " '__pos__',\n",
                                                 " '__pow__',\n",
                                                 " '__radd__',\n",
                                                 " '__rand__',\n",
                                                 " '__rdivmod__',\n",
                                                 " '__reduce__',\n",
                                                 " '__reduce_ex__',\n",
                                                 " '__repr__',\n",
                                                 " '__rfloordiv__',\n",
                                                 " '__rlshift__',\n",
                                                 " '__rmod__',\n",
                                                 " '__rmul__',\n",
                                                 " '__ror__',\n",
                                                 " '__round__',\n",
                                                 " '__rpow__',\n",
                                                 " '__rrshift__',\n",
                                                 " '__rshift__',\n",
                                                 " '__rsub__',\n",
                                                 " '__rtruediv__',\n",
                                                 " '__rxor__',\n",
                                                 " '__setattr__',\n",
                                                 " '__sizeof__',\n",
                                                 " '__str__',\n",
                                                 " '__sub__',\n",
                                                 " '__subclasshook__',\n",
                                                 " '__truediv__',\n",
                                                 " '__trunc__',\n",
                                                 " '__xor__',\n",
                                                 " 'bit_length',\n",
                                                 " 'conjugate',\n",
                                                 " 'denominator',\n",
                                                 " 'from_bytes',\n",
                                                 " 'imag',\n",
                                                 " 'numerator',\n",
                                                 " 'real',\n",
                                                 " 'to_bytes']"]},
                         'execution_count': 24,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['dir(a)']},
           {'cell_type': 'code',
            'execution_count': 25,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['4']},
                         'execution_count': 25,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a.bit_length()']},
           {'cell_type': 'code',
            'execution_count': 26,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["['DirEntry',\n",
                                                 " 'F_OK',\n",
                                                 " 'MutableMapping',\n",
                                                 " 'O_APPEND',\n",
                                                 " 'O_BINARY',\n",
                                                 " 'O_CREAT',\n",
                                                 " 'O_EXCL',\n",
                                                 " 'O_NOINHERIT',\n",
                                                 " 'O_RANDOM',\n",
                                                 " 'O_RDONLY',\n",
                                                 " 'O_RDWR',\n",
                                                 " 'O_SEQUENTIAL',\n",
                                                 " 'O_SHORT_LIVED',\n",
                                                 " 'O_TEMPORARY',\n",
                                                 " 'O_TEXT',\n",
                                                 " 'O_TRUNC',\n",
                                                 " 'O_WRONLY',\n",
                                                 " 'P_DETACH',\n",
                                                 " 'P_NOWAIT',\n",
                                                 " 'P_NOWAITO',\n",
                                                 " 'P_OVERLAY',\n",
                                                 " 'P_WAIT',\n",
                                                 " 'PathLike',\n",
                                                 " 'R_OK',\n",
                                                 " 'SEEK_CUR',\n",
                                                 " 'SEEK_END',\n",
                                                 " 'SEEK_SET',\n",
                                                 " 'TMP_MAX',\n",
                                                 " 'W_OK',\n",
                                                 " 'X_OK',\n",
                                                 " '_Environ',\n",
                                                 " '__all__',\n",
                                                 " '__builtins__',\n",
                                                 " '__cached__',\n",
                                                 " '__doc__',\n",
                                                 " '__file__',\n",
                                                 " '__loader__',\n",
                                                 " '__name__',\n",
                                                 " '__package__',\n",
                                                 " '__spec__',\n",
                                                 " '_execvpe',\n",
                                                 " '_exists',\n",
                                                 " '_exit',\n",
                                                 " '_fspath',\n",
                                                 " '_get_exports_list',\n",
                                                 " '_putenv',\n",
                                                 " '_unsetenv',\n",
                                                 " '_wrap_close',\n",
                                                 " 'abc',\n",
                                                 " 'abort',\n",
                                                 " 'access',\n",
                                                 " 'altsep',\n",
                                                 " 'chdir',\n",
                                                 " 'chmod',\n",
                                                 " 'close',\n",
                                                 " 'closerange',\n",
                                                 " 'cpu_count',\n",
                                                 " 'curdir',\n",
                                                 " 'defpath',\n",
                                                 " 'device_encoding',\n",
                                                 " 'devnull',\n",
                                                 " 'dup',\n",
                                                 " 'dup2',\n",
                                                 " 'environ',\n",
                                                 " 'error',\n",
                                                 " 'execl',\n",
                                                 " 'execle',\n",
                                                 " 'execlp',\n",
                                                 " 'execlpe',\n",
                                                 " 'execv',\n",
                                                 " 'execve',\n",
                                                 " 'execvp',\n",
                                                 " 'execvpe',\n",
                                                 " 'extsep',\n",
                                                 " 'fdopen',\n",
                                                 " 'fsdecode',\n",
                                                 " 'fsencode',\n",
                                                 " 'fspath',\n",
                                                 " 'fstat',\n",
                                                 " 'fsync',\n",
                                                 " 'ftruncate',\n",
                                                 " 'get_exec_path',\n",
                                                 " 'get_handle_inheritable',\n",
                                                 " 'get_inheritable',\n",
                                                 " 'get_terminal_size',\n",
                                                 " 'getcwd',\n",
                                                 " 'getcwdb',\n",
                                                 " 'getenv',\n",
                                                 " 'getlogin',\n",
                                                 " 'getpid',\n",
                                                 " 'getppid',\n",
                                                 " 'isatty',\n",
                                                 " 'kill',\n",
                                                 " 'linesep',\n",
                                                 " 'link',\n",
                                                 " 'listdir',\n",
                                                 " 'lseek',\n",
                                                 " 'lstat',\n",
                                                 " 'makedirs',\n",
                                                 " 'mkdir',\n",
                                                 " 'name',\n",
                                                 " 'open',\n",
                                                 " 'pardir',\n",
                                                 " 'path',\n",
                                                 " 'pathsep',\n",
                                                 " 'pipe',\n",
                                                 " 'popen',\n",
                                                 " 'putenv',\n",
                                                 " 'read',\n",
                                                 " 'readlink',\n",
                                                 " 'remove',\n",
                                                 " 'removedirs',\n",
                                                 " 'rename',\n",
                                                 " 'renames',\n",
                                                 " 'replace',\n",
                                                 " 'rmdir',\n",
                                                 " 'scandir',\n",
                                                 " 'sep',\n",
                                                 " 'set_handle_inheritable',\n",
                                                 " 'set_inheritable',\n",
                                                 " 'spawnl',\n",
                                                 " 'spawnle',\n",
                                                 " 'spawnv',\n",
                                                 " 'spawnve',\n",
                                                 " 'st',\n",
                                                 " 'startfile',\n",
                                                 " 'stat',\n",
                                                 " 'stat_result',\n",
                                                 " 'statvfs_result',\n",
                                                 " 'strerror',\n",
                                                 " 'supports_bytes_environ',\n",
                                                 " 'supports_dir_fd',\n",
                                                 " 'supports_effective_ids',\n",
                                                 " 'supports_fd',\n",
                                                 ' '
                                                 "'supports_follow_symlinks',\n",
                                                 " 'symlink',\n",
                                                 " 'sys',\n",
                                                 " 'system',\n",
                                                 " 'terminal_size',\n",
                                                 " 'times',\n",
                                                 " 'times_result',\n",
                                                 " 'truncate',\n",
                                                 " 'umask',\n",
                                                 " 'uname_result',\n",
                                                 " 'unlink',\n",
                                                 " 'urandom',\n",
                                                 " 'utime',\n",
                                                 " 'waitpid',\n",
                                                 " 'walk',\n",
                                                 " 'write']"]},
                         'execution_count': 26,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['dir(os)']},
           {'cell_type': 'code',
            'execution_count': 27,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['Help on built-in function getcwd in module '
                                  'nt:\n',
                                  '\n',
                                  'getcwd()\n',
                                  '    Return a unicode string representing '
                                  'the current working directory.\n',
                                  '\n']}],
            'source': ['help(os.getcwd)']},
           {'cell_type': 'code',
            'execution_count': 28,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["['__call__',\n",
                                                 " '__class__',\n",
                                                 " '__delattr__',\n",
                                                 " '__dir__',\n",
                                                 " '__doc__',\n",
                                                 " '__eq__',\n",
                                                 " '__format__',\n",
                                                 " '__ge__',\n",
                                                 " '__getattribute__',\n",
                                                 " '__gt__',\n",
                                                 " '__hash__',\n",
                                                 " '__init__',\n",
                                                 " '__init_subclass__',\n",
                                                 " '__le__',\n",
                                                 " '__lt__',\n",
                                                 " '__module__',\n",
                                                 " '__name__',\n",
                                                 " '__ne__',\n",
                                                 " '__new__',\n",
                                                 " '__qualname__',\n",
                                                 " '__reduce__',\n",
                                                 " '__reduce_ex__',\n",
                                                 " '__repr__',\n",
                                                 " '__self__',\n",
                                                 " '__setattr__',\n",
                                                 " '__sizeof__',\n",
                                                 " '__str__',\n",
                                                 " '__subclasshook__',\n",
                                                 " '__text_signature__']"]},
                         'execution_count': 28,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['dir(os.getcwd)']},
           {'cell_type': 'code',
            'execution_count': 30,
            'metadata': {},
            'outputs': [],
            'source': ['text = "Dies" + " ist " + " ein " + "Satz"']},
           {'cell_type': 'code',
            'execution_count': 31,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['5']},
                         'execution_count': 31,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['text.find("ist")']},
           {'cell_type': 'code',
            'execution_count': 32,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'ist  ein Satz'"]},
                         'execution_count': 32,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['text[5:]']},
           {'cell_type': 'code',
            'execution_count': 33,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies war  ein Satz'"]},
                         'execution_count': 33,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['text.replace("ist","war")']},
           {'cell_type': 'code',
            'execution_count': 34,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies ist  ein Satz'"]},
                         'execution_count': 34,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['text']},
           {'cell_type': 'code',
            'execution_count': 35,
            'metadata': {},
            'outputs': [],
            'source': ['text = text.replace("ist","war")']},
           {'cell_type': 'code',
            'execution_count': 36,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies war  ein Satz'"]},
                         'execution_count': 36,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['text']},
           {'cell_type': 'code',
            'execution_count': 39,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["['Dies', 'war', 'ein', "
                                                 "'Satz']"]},
                         'execution_count': 39,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['textliste = text.split()\n', 'textliste']},
           {'cell_type': 'code',
            'execution_count': 40,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies-war-ein-Satz'"]},
                         'execution_count': 40,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['"-".join(textliste)']},
           {'cell_type': 'code',
            'execution_count': 41,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies ist ein Satz'"]},
                         'execution_count': 41,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['"Dies ist ein Satz"']},
           {'cell_type': 'code',
            'execution_count': 42,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies ist ein Satz'"]},
                         'execution_count': 42,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ["'Dies ist ein Satz'"]},
           {'cell_type': 'code',
            'execution_count': 43,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['"Nik\'s Text"']},
                         'execution_count': 43,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['"Nik\'s Text"']},
           {'cell_type': 'code',
            'execution_count': 44,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['"Nik\'s Text"']},
                         'execution_count': 44,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ["'Nik\\'s Text'"]},
           {'cell_type': 'code',
            'execution_count': 46,
            'metadata': {},
            'outputs': [],
            'source': ['langertext = """Dies ist ein\n',
                       'Text über mehrere\n',
                       'Zeilen\n',
                       '"""']},
           {'cell_type': 'code',
            'execution_count': 47,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ["'Dies ist ein\\nText über "
                                                 "mehrere\\nZeilen\\n'"]},
                         'execution_count': 47,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['str(langertext)']},
           {'cell_type': 'code',
            'execution_count': 48,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['Dies ist ein\n',
                                  'Text über mehrere\n',
                                  'Zeilen\n',
                                  '\n']}],
            'source': ['print(langertext)']},
           {'cell_type': 'code',
            'execution_count': 49,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['"\'Dies ist ein\\\\nText '
                                                 'über '
                                                 'mehrere\\\\nZeilen\\\\n\'"']},
                         'execution_count': 49,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['repr(langertext)']},
           {'cell_type': 'code',
            'execution_count': 50,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['Dies ist ein\n',
                                  'Text über mehrere\n',
                                  'Zeilen\n',
                                  '\n']}],
            'source': ['print(str(langertext))']},
           {'cell_type': 'code',
            'execution_count': 51,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ["'Dies ist ein\\nText über "
                                  "mehrere\\nZeilen\\n'\n"]}],
            'source': ['print(repr(langertext))']},
           {'cell_type': 'code',
            'execution_count': 52,
            'metadata': {},
            'outputs': [],
            'source': ['datei = open("test.txt","w")\n',
                       'datei.write(langertext)\n',
                       'datei.close()']},
           {'cell_type': 'code',
            'execution_count': 53,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['Dies ist ein\n',
                                  'Text über mehrere\n',
                                  'Zeilen\n',
                                  '\n']}],
            'source': ['datei = open("test.txt","r")\n',
                       'gesamterInhalt = datei.read()\n',
                       'datei.close()\n',
                       'print(gesamterInhalt)']},
           {'cell_type': 'code',
            'execution_count': 54,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['float']},
                         'execution_count': 54,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a = 4*3.5\n', 'type(a)']},
           {'cell_type': 'code',
            'execution_count': 55,
            'metadata': {},
            'outputs': [{'ename': 'SyntaxError',
                         'evalue': 'invalid syntax '
                                   '(<ipython-input-55-692b18f84830>, line 4)',
                         'output_type': 'error',
                         'traceback': ['\x1b[1;36m  File '
                                       '\x1b[1;32m"<ipython-input-55-692b18f84830>"\x1b[1;36m, '
                                       'line \x1b[1;32m4\x1b[0m\n'
                                       '\x1b[1;33m    except IOError, '
                                       'e:\x1b[0m\n'
                                       '\x1b[1;37m                  ^\x1b[0m\n'
                                       '\x1b[1;31mSyntaxError\x1b[0m\x1b[1;31m:\x1b[0m '
                                       'invalid syntax\n']}],
            'source': ['try:\n',
                       '    dateiname = "irgendeinName.irgendwas"\n',
                       '    datei = open(dateiname,"r")\n',
                       'except IOError, e:\n',
                       '    print(dateiname,"nicht verfügbar")']},
           {'cell_type': 'code',
            'execution_count': 58,
            'metadata': {},
            'outputs': [{'name': 'stdout',
                         'output_type': 'stream',
                         'text': ['2 No such file or directory\n',
                                  'irgendeinName.irgendwas nicht '
                                  'verfügbar\n']}],
            'source': ['try:\n',
                       '    dateiname = "irgendeinName.irgendwas"\n',
                       '    datei = open(dateiname,"r")\n',
                       'except IOError as e:\n',
                       '    print(e.errno,e.strerror)\n',
                       '    print(dateiname,"nicht verfügbar")']},
           {'cell_type': 'code',
            'execution_count': 59,
            'metadata': {},
            'outputs': [],
            'source': ['a = int(3.141)']},
           {'cell_type': 'code',
            'execution_count': 60,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['3']},
                         'execution_count': 60,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a']},
           {'cell_type': 'code',
            'execution_count': 61,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['3']},
                         'execution_count': 61,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a = int(3.6789)\n', 'a']},
           {'cell_type': 'code',
            'execution_count': 62,
            'metadata': {},
            'outputs': [{'data': {'text/plain': ['3.141']},
                         'execution_count': 62,
                         'metadata': {},
                         'output_type': 'execute_result'}],
            'source': ['a = float("3.141")\n', 'a']},
           {'cell_type': 'code',
            'execution_count': 63,
            'metadata': {},
            'outputs': [{'ename': 'ValueError',
                         'evalue': 'could not convert string to float: '
                                   "'3.45€'",
                         'output_type': 'error',
                         'traceback': ['\x1b[1;31m---------------------------------------------------------------------------\x1b[0m',
                                       '\x1b[1;31mValueError\x1b[0m                                '
                                       'Traceback (most recent call last)',
                                       '\x1b[1;32m<ipython-input-63-bc731ef2a1a1>\x1b[0m '
                                       'in '
                                       '\x1b[0;36m<module>\x1b[1;34m()\x1b[0m\n'
                                       '\x1b[1;32m----> 1\x1b[1;33m '
                                       '\x1b[0ma\x1b[0m \x1b[1;33m=\x1b[0m '
                                       '\x1b[0mfloat\x1b[0m\x1b[1;33m(\x1b[0m\x1b[1;34m"3.45€"\x1b[0m\x1b[1;33m)\x1b[0m\x1b[1;33m\x1b[0m\x1b[0m\n'
                                       '\x1b[0m\x1b[0;32m      2\x1b[0m '
                                       '\x1b[0ma\x1b[0m\x1b[1;33m\x1b[0m\x1b[0m\n',
                                       '\x1b[1;31mValueError\x1b[0m: could not '
                                       "convert string to float: '3.45€'"]}],
            'source': ['a = float("3.45€")\n', 'a']},
           {'cell_type': 'code',
            'execution_count': None,
            'metadata': {},
            'outputs': [],
            'source': []}],
 'metadata': {'kernelspec': {'display_name': 'Python 3',
                             'language': 'python',
                             'name': 'python3'},
              'language_info': {'codemirror_mode': {'name': 'ipython',
                                                    'version': 3},
                                'file_extension': '.py',
                                'mimetype': 'text/x-python',
                                'name': 'python',
                                'nbconvert_exporter': 'python',
                                'pygments_lexer': 'ipython3',
                                'version': '3.7.0'}},
 'nbformat': 4,
 'nbformat_minor': 2}
In [29]:
%%HTML
<b><i>Dies ist ein Text</b></i>
Dies ist ein Text
In [31]:
%%HTML
<b><i>Dies ist ein Text</i></b>
Dies ist ein Text
In [33]:
%%HTML
<html>
  <head>
    <title>E-Mail</title>
  </head>
  <body>
    <table>
      <tr><th>Empfänger</th><td>Henning Stoyke</td></tr>
      <tr><th>Absender</th><td>Nik Klever </td></tr>
      <tr><th>Thema</th>
          <td>Wie war dein Urlaub ? </td>
      </tr>
      <tr><th>Datum</th><td>1.10.2009</td></tr>    
      <tr><th>Nachricht</th>
          <td>
            <pre>Hallo Henning, ich hoffe, 
du hattest einen tollen Urlaub ? 
Bis bald, Nik</pre>
          </td>
      </tr>
    </table>    
  </body>
</html>
E-Mail
EmpfängerHenning Stoyke
AbsenderNik Klever
Thema Wie war dein Urlaub ?
Datum1.10.2009
Nachricht
Hallo Henning, ich hoffe, 
du hattest einen tollen Urlaub ? 
Bis bald, Nik
In [34]:
%%html
<html>
   <head>
      <title>Stadt - Land - Fluß</title>
   </head>
   <body>
      <table>
         <tr><th>Stadt<td>Augsburg</td></th></tr>
         <tr><th>Land<td>Bayern</td></th></tr>
         <tr><th>Fluß<td>Lech</td></th></tr>
         <tr><th>Bedeutender Künstler<td>Bertold Brecht</td></th></tr>    
         <tr><th>Bedeutende Persönlichkeit<td>Fugger</td></th></tr>
      </table>    
   </body>
</html>
Stadt - Land - Fluß
StadtAugsburg
LandBayern
FlußLech
Bedeutender KünstlerBertold Brecht
Bedeutende PersönlichkeitFugger
Henning Stoyke Nik Klever 2001-04-26 Aus dem Urlaub zurück ? Hallo Henning, ich hoffe, Du bist gesund aus dem Urlaub zurück und kannst mit frischem Wind unser Projekt beginnen ! Bis bald, Nik
In [4]:
%%writefile kontakte.dtd
<!ELEMENT Kontakte (Kontakt*)>
<!ELEMENT Kontakt (Person, Kontaktdaten*, Notizzettel*)>
<!ATTLIST Kontakt
    Markierung (wichtig|unwichtig|sonstiges) "sonstiges"
    Typ CDATA #IMPLIED>
<!ELEMENT Person (Name?, Vorname+, Geburtsname?, 
                  Titel*, Namenszusatz?)>
<!ATTLIST Person 
    Geschlecht (männlich|weiblich|sonstiges) "sonstiges"
    Geburtstag CDATA #REQUIRED>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT Geburtsname (#PCDATA)>
<!ELEMENT Titel (#PCDATA)>
<!ELEMENT Namenszusatz (#PCDATA)>

<!ELEMENT Adresse (Strasse?, Hausnummer?, Plz?, Ort?,
                   Land?, Zusatzinfo?, Postfach?)>
<!ELEMENT Strasse (#PCDATA)>
<!ELEMENT Hausnummer (#PCDATA)>
<!ELEMENT Plz (#PCDATA)>
<!ELEMENT Ort (#PCDATA)>
<!ELEMENT Land (#PCDATA)>
<!ELEMENT Zusatzinfo (#PCDATA)>
<!ELEMENT Postfach (#PCDATA)>

<!ELEMENT Kontaktdaten (Adresse?, Telefonnummer*, EMail*, Überschrift*)>
<!ATTLIST Kontaktdaten
    Typ (privat|geschäftlich|sonstiges) "sonstiges">
<!ELEMENT Telefonnummer (#PCDATA)>
<!ATTLIST Telefonnummer
    Typ (mobil|festnetz|sonstiges) "festnetz">
<!ELEMENT EMail (#PCDATA)>

<!ELEMENT Notizzettel (#PCDATA)>
<!ELEMENT Überschrift (#PCDATA)>
Overwriting kontakte.dtd
In [5]:
%%writefile kontakte.xml
<?xml version="1.0"?>
<!DOCTYPE Kontakte SYSTEM "kontakte.dtd">
<Kontakte>
  <Kontakt Typ="kein Freund" Markierung="unwichtig">
    <Person Geschlecht="männlich" 
            Geburtstag="1.1.1970">
      <Name>Mustermann</Name>
      <Vorname>Max</Vorname>
      <Geburtsname></Geburtsname>
      <Titel>Lord</Titel>
      <Namenszusatz></Namenszusatz>
    </Person>
    <Kontaktdaten Typ="geschäftlich">
      <Adresse>
        <Strasse>Unter der Brücke</Strasse>
        <Hausnummer>10</Hausnummer>
        <PLZ>86150</PLZ>
        <Ort>Augsburg</Ort>
        <Land>Bayern</Land>
        <Zusatzinfo>Schwaben</Zusatzinfo>
        <Postfach></Postfach>
      </Adresse>
      <Telefonnummer>123456789</Telefonnummer>
      <Telefonnummer Typ="mobil">0190-987654321</Telefonnummer>
      <EMail>Lord.Mustermann@hs-augsburg.de</EMail>
    </Kontaktdaten>
    <Kontaktdaten Typ="privat">
      <Adresse>
        <Strasse>Unter der Lechbrücke</Strasse>
        <Hausnummer>2</Hausnummer>
        <Plz>86150</Plz>
        <Ort>Augsburg</Ort>
        <Land>Bayern</Land>
        <Zusatzinfo>Schwaben</Zusatzinfo>
        <Postfach></Postfach>
      </Adresse>
      <Telefonnummer>567890</Telefonnummer>
      <Telefonnummer Typ="mobil">0160-23456790</Telefonnummer>
      <EMail>Lord.Mustermann@web.de</EMail>
      <Notizzettel>stinkt ein bißchen</Notizzettel>
    </Kontaktdaten>
    <Notizzettel></Notizzettel>
  </Kontakt>
  <Kontakt Typ="Freund" Markierung="wichtig">
    <Person Geschlecht="männlich" 
            Geburtstag="1.1.1990">
      <Name>Lehmann</Name>
      <Vorname>Moritz</Vorname>
      <Geburtsname></Geburtsname>
      <Titel> </Titel>
      <Namenszusatz></Namenszusatz>
    </Person>
    <Kontaktdaten Typ="geschäftlich">
      <Adresse>
        <Strasse>Friedberger Str.</Strasse>
        <Hausnummer>2</Hausnummer>
        <Plz>86161</Plz>
        <Ort>Augsburg</Ort>
        <Land>Bayern</Land>
        <Zusatzinfo>Schwaben</Zusatzinfo>
        <Postfach></Postfach>
      </Adresse>
      <Telefonnummer>5586-7900</Telefonnummer>
      <Telefonnummer Typ="mobil">0170-987654321</Telefonnummer>
      <EMail>Moritz.Lehmann@hs-augsburg.de</EMail>
    </Kontaktdaten>
    <Kontaktdaten Typ="privat">
      <Adresse>
        <Strasse>Badstrasse</Strasse>
        <Hausnummer>20</Hausnummer>
        <Plz>86150</Plz>
        <Ort>Augsburg</Ort>
        <Land>Bayern</Land>
        <Zusatzinfo>Schwaben</Zusatzinfo>
        <Postfach></Postfach>
      </Adresse>
      <Telefonnummer>8976890</Telefonnummer>
      <Telefonnummer Typ="mobil">0161-12342345</Telefonnummer>
      <EMail>m.lehmann@web.de</EMail>
      <Überschrift>ÄÖüß</Überschrift>
    </Kontaktdaten>
    <Notizzettel></Notizzettel>
  </Kontakt>
</Kontakte>
Overwriting kontakte.xml
In [7]:
#! /usr/bin/python
# -*- coding: utf-8 -*-
from xml.sax import make_parser, handler, SAXException, SAXParseException


class SAXBeispiel1(handler.ContentHandler):
    
    def __init__(self):
        pass
    
    def startDocument(self):
        print("document started")
        
    def endDocument(self):
        print("document ended")
        

parser = make_parser()
instanz = SAXBeispiel1()
instanz.startDocument()
#parser.setContentHandler(instanz)
#parser.parse('kontakte.xml')
document started
In [9]:
from xml.sax import make_parser, handler, SAXException, SAXParseException

class SAXBeispiel2(handler.ContentHandler):
    
    def __init__(self):
        self.xmldokument = ""
    
    def startDocument(self):
        self.xmldokument += "<?xml version='1.0'?>\n"
        
    def endDocument(self):
        print(self.xmldokument)
    
    def startElement(self, name, attrs):
        self.xmldokument += "<{}".format(name)  # Beginn der Ausgabe des Elements
        for attr in attrs.getNames():
            self.xmldokument += ' {}="{}"'.format(attr,attrs.getValue(attr))
        self.xmldokument += ">"
        
    def characters(self, content):
        self.xmldokument += content
        
    def endElement(self, name):
        self.xmldokument += "</{}>".format(name)
        
parser = make_parser()
instanz = SAXBeispiel2()
instanz.startElement()
#parser.setContentHandler(instanz)
#parser.parse('kontakte.xml')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-cd373cb535e1> in <module>()
     26 parser = make_parser()
     27 instanz = SAXBeispiel2()
---> 28 instanz.startElement()
     29 #parser.setContentHandler(instanz)
     30 #parser.parse('kontakte.xml')

TypeError: startElement() missing 2 required positional arguments: 'name' and 'attrs'