首頁 >後端開發 >Python教學 >Python檔案讀寫保存操作的實作程式碼

Python檔案讀寫保存操作的實作程式碼

不言
不言原創
2018-09-13 16:37:531619瀏覽

這篇文章帶給大家的內容是關於Python文件讀寫保存操作的實現代碼 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

記錄下第一次使用Python讀寫檔案的過程,雖然很簡單,第一次實現其實也有些注意的事項。

單一檔案的讀取操作:

我們先假設一個需求如下:

讀取一個test.txt檔案

刪除指定字符之前的文字

需求明白之後,下面開始動手寫程式碼,程式碼很簡單。就直接上全部的,細節看註解:

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)

以上程式碼就完成了需求,非常簡單。有幾個注意點:

直接用open取得的資料無法處理,所以先轉成可以處理的數據,例如list或字典等。

python的open和C的類似,有r,r , w, w 等各種狀態,見具體介紹

open函數的常見操作方式
1、r 開啟只讀文件,該文件必須存在。
2、r 開啟可讀寫的文件,該文件必須存在。
3、w 開啟只寫文件,若文件存在則文件長度清除為0,即該文件內容會消失。若文件不存在則建立該文件。
4、w 開啟可讀寫文件,若文件存在則文件長度清除為零,即該文件內容會消失。若文件不存在則建立該文件。

多重檔案讀寫保存

假設一個需求如下:

  • #多個檔案都要處理

  • 和上面的test.txt處理方式類似

  • 處理完之後再儲存到一個新資料夾內

其實這個需求實質上只是比單一文件讀取操作只多了一個寫入操作。其他的就是邏輯稍微繞一下

  • 怎麼同時操作多個檔案

  • 然後怎麼儲存成多個檔案

#肯定是不能一個檔案一個檔案的去操作,太麻煩了。說下我的實作想法:

  • 把檔案放在一個資料夾內

  • 取得這個資料夾內所有的檔名,拼接成檔案路徑

  • 然後建立一個空的新資料夾,用新的空資料夾加上原始的檔案名稱拼接成新的路徑然後寫入進去

下面上程式碼:

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()

上面的程式碼其實沒啥要介紹的,就是一個for迴圈然後邏輯和單一檔案讀取操作一樣,只是多了個寫入操作。

相關推薦:

PHP檔案的讀寫操作程式碼

#Python完成讀取並儲存檔案類別的詳細介紹

Python實作讀取目錄所有檔案的檔案名稱並儲存到txt檔案代碼

以上是Python檔案讀寫保存操作的實作程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn