91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python文件讀寫保存操作的示例代碼

發布時間:2020-09-25 22:40:10 來源:腳本之家 閱讀:166 作者:CharlieWang 欄目:開發技術

記錄下第一次使用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循環然后邏輯和單個文件讀操作一樣,只是多了個寫操作。

End

這只是自己因緣巧合寫的一些簡單的實現,并沒有去系統的學習Python,好多API不了解,可能這種處理不是很好,沒注重性能,沒多線程。等以后深入學習了再優化。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

志丹县| 浙江省| 金寨县| 曲靖市| 宕昌县| 资兴市| 永安市| 富阳市| 彝良县| 伊川县| 盖州市| 新津县| 察哈| 南靖县| 长阳| 葫芦岛市| 苍溪县| 临海市| 乾安县| 灌南县| 大渡口区| 榆林市| 大埔区| 娱乐| 西宁市| 定边县| 堆龙德庆县| 乐平市| 正镶白旗| 金平| 郸城县| 鸡西市| 台中市| 阳东县| 遂昌县| 巧家县| 余干县| 拜城县| 诸暨市| 济阳县| 贡嘎县|