Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungscode für Lese-, Schreib- und Speichervorgänge in Python-Dateien

Implementierungscode für Lese-, Schreib- und Speichervorgänge in Python-Dateien

不言
不言Original
2018-09-13 16:37:531542Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Implementierungscode für Lese-, Schreib- und Speichervorgänge in Python. Ich hoffe, dass er für Sie hilfreich ist.

Zeichnen Sie den Prozess der erstmaligen Verwendung von Python zum Lesen und Schreiben von Dateien auf. Obwohl es sehr einfach ist, gibt es tatsächlich einige Dinge, auf die Sie bei der ersten Implementierung achten sollten.

Lesevorgang einer einzelnen Datei:

Nehmen wir zunächst eine Anforderung wie folgt an:

Eine test.txt-Datei lesen

Löschen Sie die angegebene Zeichen Vorheriger Text

Nachdem wir die Anforderungen verstanden haben, beginnen wir mit dem Schreiben des Codes. Der Code ist sehr einfach. Gehen Sie einfach zu allen, sehen Sie sich die Kommentare für Details an:

import sys
filePath = "/Users/xxxxxx/Desktop/test.txt"
# 打开文件
files = open(filePath, 'r')
# 转成list
f_list = files.readlines()
tempIndex = 0
# 对f_list 循环 每个index对应一行数据
for index in range(len(f_list)):
    # temp是获取一行的数据
    temp = f_list[index]
    # 判断"test"是不是temp这行数据的首位 如果是首位 result为true
    result = temp.find("test") == 0
    if result:
        # 如果是首位 这就是我们要删除的位置 获取他的index
        tempIndex = index
        break
# 存放新数据
tempContainer = []

for index in range(len(f_list)):
    if index > tempIndex:
        # tempIndex之前的数据我们不处理,把tempindex之后的数据存到新的list里面
        tempContainer.append(f_list[index])
# 这就获得了我们需要的新数据
print(tempContainer)

Der obige Code erfüllt die Anforderungen, er ist sehr einfach. Es sind einige Punkte zu beachten:

Die direkt mit open erhaltenen Daten können nicht verarbeitet werden. Konvertieren Sie sie daher zunächst in verarbeitbare Daten, z. B. eine Liste oder ein Wörterbuch usw.

Python's open ähnelt C's, mit verschiedenen Zuständen wie r, r+, w, w+ usw. Siehe die ausführliche Einführung

Allgemeine Operationsmethoden der open-Funktion
1. r öffnet sich nur. Um eine Datei zu lesen, muss die Datei vorhanden sein.
2. r+ öffnet eine lesbare und beschreibbare Datei, die vorhanden sein muss.
3. w öffnet eine schreibgeschützte Datei. Wenn die Datei vorhanden ist, wird die Dateilänge auf 0 gelöscht, d. h. der Dateiinhalt verschwindet. Wenn die Datei nicht vorhanden ist, erstellen Sie die Datei.
4. w+ öffnet eine lesbare und beschreibbare Datei. Wenn die Datei vorhanden ist, wird die Dateilänge auf Null gelöscht, d. h. der Dateiinhalt verschwindet. Wenn die Datei nicht vorhanden ist, erstellen Sie die Datei.

Mehrere Dateien lesen, schreiben und speichern

Angenommen, eine Anforderung lautet wie folgt:

  • Mehrere Dateien müssen verarbeitet werden

  • Ähnlich der test.txt Verarbeitungsmethode oben

  • Speichern Sie es nach der Verarbeitung in einem neuen Ordner

Tatsächlich Diese Anforderung besteht im Wesentlichen darin, dass es nur einen Schreibvorgang mehr gibt als einen einzelnen Dateilesevorgang. Die andere Sache besteht darin, die Logik ein wenig zu umgehen

  • Wie man mehrere Dateien gleichzeitig bearbeitet

  • und wie man sie dann speichert in mehrere Dateien aufteilen

Es ist definitiv nicht möglich, Datei für Datei zu bearbeiten, das ist zu mühsam. Lassen Sie mich über meine Implementierungsidee sprechen:

  • Legen Sie die Dateien in einen Ordner

  • Nehmen Sie alle Dateinamen in diesem Ordner und fügen Sie sie zusammen Geben Sie einen Dateipfad

  • ein und erstellen Sie dann einen neuen leeren Ordner. Verwenden Sie den neuen leeren Ordner und den ursprünglichen Dateinamen, um ihn zu einem neuen Pfad zu verketten, und schreiben Sie ihn in

Der Code unten:

import os

# 初始的文件夹路径
filePath = "/Users/xxxxxxxx/Desktop/fileDocument"
# 存放新文件的空白文件夹
newFilePath = "/Users/xxxxxxxx/Desktop/newFileDocument"
# 获取文件夹下所有文件名
fileNames = os.listdir(filePath)
for file in fileNames:
    # 如果当前的文件名包含了'txt',就当它是正确的文件(并不严谨)
    if file.find("txt") >= 0:
        # 拼接成我们要读取的完整路径
        fileFullPath = filePath + "/" + file
        # open 函数 默认是 'r'类型 ,
        singleFile = open(fileFullPath)
        # 转换成list数据
        singleFile_list = singleFile.readlines()

        tempIndex = 0
        for index in range(len(singleFile_list)):
            temp = singleFile_list[index]
            result = temp.find("min") == 0
            if result:
                tempIndex = index
                break
        # 拼接新的文件路径
        newSingleFileFullPath = newFilePath + "/" + file
        # 以 w 方式打开新的空白文件
        newFile = open(newSingleFileFullPath, 'w')
        for index in range(len(singleFile_list)):
            if index > tempIndex:
                # 写入tempindex行之后的数据
                newFile.writelines(singleFile_list[index])
        newFile.close()

Der obige Code hat eigentlich nichts einzuführen, es ist nur eine for-Schleife und die Logik ist die gleiche wie bei einem einzelnen Dateilesevorgang, jedoch mit einem zusätzlichen Schreibvorgang Betrieb.

Verwandte Empfehlungen:

Operationscode für PHP-Dateien lesen und schreiben

Details zu Python, der das Lesen und Speichern von Dateiklassen abschließt Einführung

Python-Implementierung zum Lesen der Dateinamen aller Dateien in einem Verzeichnis und zum Speichern dieser im TXT-Dateicode

Das obige ist der detaillierte Inhalt vonImplementierungscode für Lese-, Schreib- und Speichervorgänge in Python-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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