Heim Backend-Entwicklung Python-Tutorial Grundlegende Betriebsmethoden für die Eingabe und Ausgabe von Python-Dateien

Grundlegende Betriebsmethoden für die Eingabe und Ausgabe von Python-Dateien

Mar 21, 2017 pm 01:51 PM
python

1. Python Datei-E/A
Dieses Kapitel beschreibt nur alle grundlegenden E/A-Funktionen Python-Standarddokument.

2. Auf dem Bildschirm drucken Die einfachste Ausgabemethode ist die Verwendung der Anweisung
print. Sie können null oder mehr durch Kommas getrennt übergeben. Das Ausdruck . Diese Funktion wandelt den von Ihnen übergebenen Ausdruck in einen -String--Ausdruck um und schreibt das Ergebnis wie folgt in die Standardausgabe:

Beispiel 1:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
print "python 是一门面向对象语言"
Nach dem Login kopieren
Führen Sie die Ergebnisse von Beispiel aus 1 lauten wie folgt:

python 是一门面向对象语言
Nach dem Login kopieren

3. Tastatureingaben lesen Python bietet zwei
integrierte Funktionen zum Lesen einer Textzeile aus der Standardeingabe , Die Standardeingabe ist die Tastatur. Wie folgt:

  • raw_input

  • input

raw_input function Die Funktion raw_input([prompt]) liest eine Zeile aus der Standardeingabe und gibt eine Zeichenfolge zurück (unter Entfernung des nachgestellten Zeilenumbruchzeichens):
Beispiel 2:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
strs = raw_input("请输入你想输入的字符串:")
print "您输入的字符串是:",strs
Nach dem Login kopieren
Beispiel 2 Ausführungsergebnisse:

请输入你想输入的字符串:python
您输入的字符串是: python
Nach dem Login kopieren

Eingabefunktion Die Funktion input([prompt]) ähnelt grundsätzlich der Funktion raw_input([prompt]), aber input kann einen Python-Ausdruck als Eingabe und empfangen Das Operationsergebnis wird zurückgegeben.

Beispiel 3:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx

inputStr = input("可以输入表达式:")
print "运行输入的结果:", inputStr
Nach dem Login kopieren
Beispiel 3 Laufergebnisse:

可以输入表达式:[x*4 for x in (2,3,4)]
运行输入的结果: [8, 12, 16]
Nach dem Login kopieren

4. Öffnen und schließen Sie DateienJetzt Sie Es ist bereits möglich, auf Standardein- und -ausgaben zu lesen und zu schreiben. Sehen wir uns nun an, wie die eigentliche Datendatei gelesen und geschrieben wird.
 Python bietet standardmäßig die erforderlichen Funktionen und Methoden, um grundlegende Dateivorgänge auszuführen. Sie können die meisten Dateivorgänge mit dem Objekt
file ausführen.
open-Funktion Sie müssen zunächst die in Python integrierte open()-Funktion verwenden, um eine Datei zu öffnen und ein Dateiobjekt zu erstellen, bevor die relevanten Methoden es zum Lesen und Schreiben aufrufen können.
Syntax:

file object = open(file_name [, access_mode][, buffering]
Nach dem Login kopieren
Die Details jedes Parameters lauten wie folgt:

Vollständige Liste der verschiedenen Modi zum Öffnen von Dateien: Modusbeschreibung

  1. r Öffnen Sie die Datei lesen- nur . Der Dateizeiger wird am Anfang der Datei platziert. Dies ist der Standardmodus.

  2. rb Öffnet eine Datei im Binärformat nur zum Lesen. Der Dateizeiger wird am Anfang der Datei platziert. Dies ist der Standardmodus.

  3. r+ öffnet eine Datei zum Lesen und Schreiben. Der Dateizeiger wird am Anfang der Datei platziert.

  4. rb+ Öffnet eine Datei im Binärformat zum Lesen und Schreiben. Der Dateizeiger wird am Anfang der Datei platziert.

  5. w Öffnen Sie eine Datei nur zum Schreiben. Wenn die Datei bereits vorhanden ist, wird sie überschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei.

  6. wb Öffnet eine Datei im Binärformat nur zum Schreiben. Wenn die Datei bereits vorhanden ist, wird sie überschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei.

  7. w+ öffnet eine Datei zum Lesen und Schreiben. Wenn die Datei bereits vorhanden ist, wird sie überschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei.

  8. wb+ Öffnet eine Datei im Binärformat zum Lesen und Schreiben. Wenn die Datei bereits vorhanden ist, wird sie überschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei.

  9. a Öffnen Sie eine Datei zum Anhängen. Wenn die Datei bereits vorhanden ist, wird der Dateizeiger am Ende der Datei platziert. Mit anderen Worten: Neue Inhalte werden nach bestehenden Inhalten geschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei zum Schreiben.

  10. ab Öffnet eine Datei im Binärformat zum Anhängen. Wenn die Datei bereits vorhanden ist, wird der Dateizeiger am Ende der Datei platziert. Mit anderen Worten: Neue Inhalte werden nach bestehenden Inhalten geschrieben. Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue Datei zum Schreiben.

  11. a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

  12. ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

File对象的属性
  一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。
  以下是和file对象相关的所有属性的列表:
  属性 描述

  • file.closed 返回true如果文件已被关闭,否则返回false。

  • file.mode 返回被打开文件的访问模式。

  • file.name 返回文件的名称。

  • file.softspace 如果用print输出后,必须跟一个空格符,则返回0。否则返回1。

示例4

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
filetest = open("file.txt", "wb")

print "文件是否关闭:", filetest.closed
print "文件模式:", filetest.mode
print "文件名称:", filetest.name
print "是否强制在末尾加空格:", filetest.softspace
Nach dem Login kopieren

示例4 运行结果:

文件是否关闭: False
文件模式: wb
文件名称: file.txt
是否强制在末尾加空格: 0
Nach dem Login kopieren

close()方法
  File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
  当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
  语法:

fileObject.close();
Nach dem Login kopieren

示例5

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
filetest = open("file.txt", "wb")

print "文件是否关闭:", filetest.closed
print "文件模式:", filetest.mode
print "文件名称:", filetest.name
print "是否强制在末尾加空格:", filetest.softspace
print "关闭文件!"
filetest.close()  # 关闭文件
print "文件关闭成功!"
Nach dem Login kopieren

示例5 结果:

文件是否关闭: False
文件模式: wb
文件名称: file.txt
是否强制在末尾加空格: 0
关闭文件!
文件关闭成功!
Nach dem Login kopieren

5.读写文件
  file对象提供了一系列方法,能让我们的文件访问更轻松。来看看如何使用read()和write()方法来读取和写入文件。
  write()方法
  write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
  write()方法不会在字符串的结尾添加换行符('\n'):
  语法:

fileObject.write(string);
Nach dem Login kopieren

在这里,被传递的参数是要写入到已打开文件的内容。
示例6

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
filetest = open("file.txt", "wb")
filetest.write("python 编程语言可以用到很多地方")
print "关闭文件!"
filetest.close()  # 关闭文件
print "文件关闭成功!"
print "重新打开读取文件!"
filetest = open("file.txt", "rb")
strs = filetest.read(1024)
print "文件我内容是:",strs
Nach dem Login kopieren

示例6 运行结果:

关闭文件!
文件关闭成功!
重新打开读取文件!
文件我内容是: python 编程语言可以用到很多地方
Nach dem Login kopieren

  read()方法
  read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
  语法:

fileObject.read([count])
Nach dem Login kopieren

  在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

  用例参考示例6

6文件位置

  • tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。

  • seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。

  • 如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

示例7:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
filetest = open("file.txt", "wb")
filetest.write("python 编程语言可以用到很多地方")
# 打开文件
filetest = open("file.txt", "rb")
strs = filetest.read(10)
print "文件内容是:", strs
# 定位文件位置
p = filetest.tell()
print "文件当前位置", p

# 重新设置文件读取的位置
filetest.seek(0, 0)
print "将文件位置重新设置成功!!!"

print "重新设置指针位置之后读取的文件"
strs = filetest.read(10)
print "文件内容是:", strs


print "关闭文件!"
filetest.close()  # 关闭文件
print "文件关闭成功!"
Nach dem Login kopieren

示例7运行结果:

文件内容是: python 编
文件当前位置 10将文件位置重新设置成功!!!
重新设置指针位置之后读取的文件
文件内容是: python 编
关闭文件!
文件关闭成功!
Nach dem Login kopieren

7.重命名和删除文件
  Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。
  要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。
  rename()方法:
  rename()方法需要两个参数,当前的文件名和新文件名。
  语法:

os.rename(current_file_name, new_file_name)
Nach dem Login kopieren

示例8:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
import os
filetest = open("myfile.txt", "wb")
# 文件写入内容
filetest.write("python 基础学习")
# 未年检关闭!
filetest.close()
# 文件重新命名
os.rename("myfile.txt", "renamefile.txt")

print "重新命名后的文件名称是:", filetest.name
# 以只读方式打开重命名文件
fileremane = open("renamefile.txt", "r")
strs = fileremane.read(100)
print "文件名称:", fileremane.name
print "读取修改后文件的内容是:", strs
Nach dem Login kopieren

示例 8 运行结果:

重新命名后的文件名称是: myfile.txt
文件名称: renamefile.txt
读取修改后文件的内容是: python 基础学习

注意:如果目录下面已经存在相关名称文件,那么重命名就会出现异常

  remove()方法
  你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。
  语法:

os.remove(file_name)
Nach dem Login kopieren

示例 9

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
import os
filetest = open("myfile.txt", "wb")
# 文件写入内容
filetest.write("python 基础学习")
# 未年检关闭!
filetest.close()
# 删除文件
os.remove("myfile.txt")
# 重新读取删除掉的文件
filetest = open("myfile.txt", "rb")
# 打印出文件内容
print "文件内容是:", filetest.read(10)
Nach dem Login kopieren

示例 9 运行结果

Traceback (most recent call last):
  File "E:/python/hello/untitled3/filetest.py", line 14, in <module>
    filetest = open("myfile.txt", "rb")
IOError: [Errno 2] No such file or directory: &#39;myfile.txt&#39;
Nach dem Login kopieren

运行结果:因为读取了一个删除掉的文件,所以会报异常

8. Python里的目录
  所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。
  mkdir()方法
  可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
  语法:

os.mkdir("newdir")
Nach dem Login kopieren

  chdir()方法
  可以用chdir()方法来改变当前的目录,修改目录路径。chdir()方法需要的一个参数是你想设成当前目录的目录名称。
  语法:

os.chdir("newdir")
Nach dem Login kopieren

  getcwd()方法

  getcwd()方法显示当前的工作目录。
  语法:

os.getcwd()
Nach dem Login kopieren

  rmdir()方法
  rmdir()方法删除目录,目录名称以参数传递。
  在删除这个目录之前,它的所有内容应该先被清除。
  语法:

os.rmdir(&#39;dirname&#39;)
Nach dem Login kopieren

示例10:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2016/9/25 15:12
# @Author  : wwyx
import os
# 创建一个目录
os.mkdir("mydir")
# 获取当前目录
nowdir = os.getcwd()
print "当前目录:", nowdir
# 重新定位目录,修改目录路径
os.chdir("mydir")
# 获取修改后的目录路径
updatedir = os.getcwd()
print "修改后的当前目录是:",updatedir
ind = updatedir.rfind("\\")
print "截取后的字符串", ind
print "type:", type(updatedir)
newdir = updatedir[0:int(ind)]
print "new dir", newdir
# 重新定位目录,修改目录路径
os.chdir(newdir)
# 获取修改后的目录路径
updatedir = os.getcwd()
print "修改后的当前目录是:",updatedir
# 删除目录
os.rmdir("mydir")
# 获取删除后的目录路径
deletedir = os.getcwd()
print "修改后的当前目录是:",deletedir
Nach dem Login kopieren

示例10 运行结果:

当前目录: E:\python\hello\untitled3
修改后的当前目录是: E:\python\hello\untitled3\mydir
截取后的字符串 25type: <type &#39;str&#39;>new dir E:\python\hello\untitled3
修改后的当前目录是: E:\python\hello\untitled3
修改后的当前目录是: E:\python\hello\untitled3
Nach dem Login kopieren

9.文件、目录相关的方法
  三个重要的方法来源能对Windows和Unix操作系统上的文件及目录进行一个广泛且实用的处理及操控,如下:

  • File 对象方法: file对象提供了操作文件的一系列方法。

  • OS 对象方法: 提供了处理文件及目录的一系列方法。

Das obige ist der detaillierte Inhalt vonGrundlegende Betriebsmethoden für die Eingabe und Ausgabe von Python-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

Python gegen JavaScript: Community, Bibliotheken und Ressourcen Python gegen JavaScript: Community, Bibliotheken und Ressourcen Apr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Wie ist die GPU -Unterstützung für Pytorch bei CentOS? Wie ist die GPU -Unterstützung für Pytorch bei CentOS? Apr 14, 2025 pm 06:48 PM

Aktivieren Sie die Pytorch -GPU -Beschleunigung am CentOS -System erfordert die Installation von CUDA-, CUDNN- und GPU -Versionen von Pytorch. Die folgenden Schritte führen Sie durch den Prozess: Cuda und Cudnn Installation Bestimmen Sie die CUDA-Version Kompatibilität: Verwenden Sie den Befehl nvidia-smi, um die von Ihrer NVIDIA-Grafikkarte unterstützte CUDA-Version anzuzeigen. Beispielsweise kann Ihre MX450 -Grafikkarte CUDA11.1 oder höher unterstützen. Download und installieren Sie Cudatoolkit: Besuchen Sie die offizielle Website von Nvidiacudatoolkit und laden Sie die entsprechende Version gemäß der höchsten CUDA -Version herunter und installieren Sie sie, die von Ihrer Grafikkarte unterstützt wird. Installieren Sie die Cudnn -Bibliothek:

Detaillierte Erklärung des Docker -Prinzips Detaillierte Erklärung des Docker -Prinzips Apr 14, 2025 pm 11:57 PM

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

Wie man eine verteilte Schulung von Pytorch auf CentOS betreibt Wie man eine verteilte Schulung von Pytorch auf CentOS betreibt Apr 14, 2025 pm 06:36 PM

Pytorch Distributed Training on CentOS -System erfordert die folgenden Schritte: Pytorch -Installation: Die Prämisse ist, dass Python und PIP im CentOS -System installiert sind. Nehmen Sie abhängig von Ihrer CUDA -Version den entsprechenden Installationsbefehl von der offiziellen Pytorch -Website ab. Für CPU-Schulungen können Sie den folgenden Befehl verwenden: PipinstallTorChTorChVisionTorChaudio Wenn Sie GPU-Unterstützung benötigen, stellen Sie sicher, dass die entsprechende Version von CUDA und CUDNN installiert ist und die entsprechende Pytorch-Version für die Installation verwenden. Konfiguration der verteilten Umgebung: Verteiltes Training erfordert in der Regel mehrere Maschinen oder mehrere Maschinen-Mehrfach-GPUs. Ort

So wählen Sie die Pytorch -Version auf CentOS aus So wählen Sie die Pytorch -Version auf CentOS aus Apr 14, 2025 pm 06:51 PM

Bei der Installation von PyTorch am CentOS -System müssen Sie die entsprechende Version sorgfältig auswählen und die folgenden Schlüsselfaktoren berücksichtigen: 1. Kompatibilität der Systemumgebung: Betriebssystem: Es wird empfohlen, CentOS7 oder höher zu verwenden. CUDA und CUDNN: Pytorch -Version und CUDA -Version sind eng miteinander verbunden. Beispielsweise erfordert Pytorch1.9.0 CUDA11.1, während Pytorch2.0.1 CUDA11.3 erfordert. Die Cudnn -Version muss auch mit der CUDA -Version übereinstimmen. Bestimmen Sie vor der Auswahl der Pytorch -Version unbedingt, dass kompatible CUDA- und CUDNN -Versionen installiert wurden. Python -Version: Pytorch Official Branch

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

Python: Automatisierung, Skript- und Aufgabenverwaltung Python: Automatisierung, Skript- und Aufgabenverwaltung Apr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

See all articles