Python-Basis - Input und Output

Manchmal wird Ihr Programm mit dem Benutzer zu interagieren. Zum Beispiel möchten Sie den Inhalt der Benutzereingabe zu bekommen, und einige der Ergebnisse durch den Benutzer zurückgegeben auszudrucken. Wir können jeweils input()funktionieren und printdie Nachfragefunktion zu erfüllen.

Für die Eingabe können wir auch verwenden streine Vielzahl von Methoden (String, String) Klasse. Zum Beispiel können Sie die Verwendung rjustMethode eine Breite eines rechtsbündig an die angegebene Zeichenfolge zu erhalten. Sie können schauen , help(str)um weitere Informationen.

Eine weitere häufige Art von Eingabe- und Ausgabedateien verarbeitet werden. Erstellen, Lesen und Schreiben von Dateien in den meisten Programmen es für die Funktion wesentlich ist, und wir werden diesen Aspekt in diesem Kapitel erforschen.

1. Benutzereingabe

Speichern Sie das folgende Programm ist io_input.py:

def reverse(text):
    return text[::-1]


def is_palindrome(text):
    return text == reverse(text)


something = input("Enter text: ")
if is_palindrome(something):
    print("Yes, it is a palindrome")
else:
    print("No, it is not a palindrome")

Ausgang:

$ python3 io_input.py
Enter text: sir
No, it is not a palindrome

$ python3 io_input.py
Enter text: madam
Yes, it is a palindrome

$ python3 io_input.py
Enter text: racecar
Yes, it is a palindrome

Wir verwenden die Funktion Flip Text schneiden. Wir wissen bereits , wir können seq[a:b]aus der Position aStart in Position bEnde Slicing - Sequenz . Wir können auch dritte Parameter liefern die Scheibe zu bestimmen , Schritt (der Schritt) . Der Standard Schritt ist 1, wird es einen fortlaufenden Text zurück. Bei einem negativen Schritt wie -1die Rück Flip durch Text.

input()Die Funktion kann eine Zeichenfolge als Argument nehmen und es dem Benutzer zu zeigen. Später wird es für die Benutzereingabe warten oder die Return - Taste zu treffen. Sobald die Benutzereingaben etwas und Qiaoxia Return - Taste, input()gibt die Funktion den Text , der vom Benutzer eingegeben werden .

Wir bekommen Text und flip. Wenn der Text des ursprünglichen Textes und die Rückseite gleichen wie die Gegenwart, wird bestimmt , dass der Text ist ein Palindrom .

+ Übung

Um zu überprüfen, ob der Textteil der Palindrom Notwendigkeit ist Zeichensetzung, Leerzeichen und Fall von ihnen zu ignorieren. Zum Beispiel: „Steh auf Abstimmung, Sir.“ Palindrome ist ein Stück Text, aber in unserem aktuellen Programm denkt nicht so. Sie können das obige Programm verbessern das Palindrom erkennen ermöglichen, es zu tun?

Wenn Sie ein paar Tipps benötigen, dann sind Sie hier eine Idee ......

2. Datei

Sie können einen Teil erstellen fileund die entsprechende Nutzung seiner Objektklasse read, readline, writeVerfahren zu öffnen oder die Datei verwenden, und sie lesen oder schreiben. Die Fähigkeit , Dateien zu lesen oder zu schreiben , hängt von der Art und Weise , in der Sie die Datei angeben zu öffnen. Schließlich, wenn Sie Dateien fertig sind , können Sie den Anruf closeMethode Python zu sagen , dass wir die Verwendung der Datei abgeschlossen haben.

Fall (Speichern unter io_using_file.py):

poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
    use Python!
'''

# 打开文件以编辑('w'riting)
f = open('poem.txt', 'w')
# 向文件中编写文本
f.write(poem)
# 关闭文件
f.close()

# 如果没有特别指定,
# 将假定启用默认的阅读('r'ead)模式
f = open('poem.txt')
while True:
    line = f.readline()
    # 零长度指示 EOF
    if len(line) == 0:
        break
    # 每行(`line`)的末尾
    # 都已经有了换行符
    #因为它是从一个文件中进行读取的
    print(line, end='')
# 关闭文件
f.close()

Ausgang:

$ python3 io_using_file.py
Programming is fun
When the work is done
if you wanna make your work also fun:
    use Python!

Erstens verwenden wir die eingebaute in openFunktion und die Dateinamen angeben, und wir wollen , verwenden , um eine Datei zu öffnen Modus zu öffnen. Offen - Modus kann einen Lesemodus sein 'r'(), Schreibmodus ( 'w') und Zufügen - Modus 'a'(). Wir können auch wählen , indem Sie Textmodus (sein 't') oder Binär - Modus 'b'(lesen), Schreib- oder append Text. In der Tat gibt es andere mehr Modi zur Verfügung stehen, help(open)werden Sie mehr Details über sie geben. Standardmäßig open()wird es als Textdatei (behandelt t EXT) Datei, und (lesen r öffnen ead) Modus.

In unserem Fall öffnen wir zunächst die Datei Schreibmodus verwenden und verwenden Sie die writeDateiobjektmethoden zu schreiben in eine Datei, und schließlich durch closedie Datei zu schließen.

Als nächst wir wieder öffnen die gleiche Datei im Lesemodus. Wir brauchen nicht ein Muster angegeben als „lesen Sie die Textdatei“ ist die Standardeinstellung. Wir verwenden in einer Schleife um readlinejede Zeile der Datei Methode zu lesen. Dieser Ansatz wird eine Reihe von Zeilen aus, wo das Ende der Leitung auch einen Zeilenumbruch enthält. Wenn eine leere Zeichenkette zurückgegeben wird, bedeutet dies , dass wir das Ende der Datei erreicht haben, und durch breakdie Schleife zu beenden.
Schließlich haben wir closedie Datei schließen.

Nun können Sie die überprüfen poem.txtInhalt der Datei des Programms zu bestätigen , hat diese Datei für Schreib- und Leseoperationen.

3. Pickle

Genannt Python stellt ein PickleStandardmodul, durch die man in jedem es speichert reines Python - Objekts in eine Datei und später abgerufen werden . Dies nennt man * dauerhaft (persistent) * Speicherobjekt.

Fall (Speichern unter io_pickle.py):

import pickle

# 我们存储相关对象的文件的名称
shoplistfile = 'shoplist.data'
# 需要购买的物品清单
shoplist = ['apple', 'mango', 'carrot']

# 准备写入文件
f = open(shoplistfile, 'wb')
# 转储对象至文件
pickle.dump(shoplist, f)
f.close()

# 清除 shoplist 变量
del shoplist

# 重新打开存储文件
f = open(shoplistfile, 'rb')
# 从文件中载入对象
storedlist = pickle.load(f)
print(storedlist)

Ausgang:

$ python io_pickle.py
['apple', 'mango', 'carrot']

Zum Speichern eines Objekts in einer Datei, wir müssen zuerst openzu schreiben ( w Rite) binary ( b inary) Modus , um die Datei zu öffnen, und dann den Anruf pickledes Moduls dumpFunktionen. Dieser Prozess wird als Einkapselung (Beizen) .

Als nächstes kommen wir an pickledas Modul loadder zurückgegebene Objekt Empfangsfunktion. Dieser Prozess wird als Auspacken (Unpickling) .

4. Unicode

Bis jetzt, wenn wir schreiben oder eine Zeichenfolge verwenden, lesen oder eine Datei schreiben, verwenden wir nur plain English Zeichen.

Hinweis: Wenn Sie Python 2 verwenden, wir hoffen , dass andere nicht-englische Sprachen in die Lage sein zu lesen und zu schreiben, müssen wir die verwenden unicodeArt , dass alle die Buchstaben uam Anfang, zum Beispiel u"hello world".

>>> "hello world"
'hello world'
>>> type("hello world")
<class 'str'>
>>> u"hello world"
'hello world'
>>> type(u"hello world")
<class 'str'>

Wenn wir eine Datei lesen oder schreiben , oder wenn wir wollen , während andere Computer im Internet kommunizieren und wir müssen unsere Unicodekönnen String in ein Sende- und Empfangsformat konvertiert werden, die „UTF-8“ bezeichnet wird. Wir können lesen und schreiben in diesem Format verwenden nur ein einfaches Schlüsselwort Argumente zu unseren openStandardfunktionen:

# encoding=utf-8
import io

f = io.open("abc.txt", "wt", encoding="utf-8")
f.write(u"Imagine non-English language here")
f.close()

text = io.open("abc.txt", encoding="utf-8").read()
print(text)

Jetzt können Sie die ignorieren importAussage, wir werden in Kapitel Modul mehr Details über seine Kapitel zu erkunden.

Jedes Mal , wenn wir verwenden Unicode - Literale bemerkt, wie ein Programms über das Schreiben, müssen wir sicherstellen , dass das Python - Programm wurde gesagt , dass wir UTF-8 verwenden, so wir haben # encoding=utf-8die Kommentare auf unserem Programm platziert.

Wir verwenden io.openund stellt eine „Codierung (Codierung)“ und „Decodierung (Decodierung)“ Parameter Python zu sagen , dass wir Unicode verwenden.

Zusammenfassung

Wir haben über die verschiedenen Arten von Eingabe- und Ausgabe solchen Inhaltsdatei Handhabung diskutiert sowie über die Beize Modul auf Unicode.

Als nächstes werden wir einige ungewöhnliche Konzepte erkunden.

Ressourcen

[1] Eingabe und Ausgabe von Byte · Python

Veröffentlicht 66 Originalarbeiten · erntete Lob 101 · Ansichten 30000 +

Ich denke du magst

Origin blog.csdn.net/u010705932/article/details/104418053
Empfohlen
Rangfolge