亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2018年09月14日 10:57:30   作者:CharlieWang  
這篇文章主要介紹了Python文件讀寫保存操作的示例代碼,實現(xiàn)了單個文件和多文件的讀寫保存操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

記錄下第一次使用Python讀寫文件的過程,雖然很簡單,第一次實現(xiàn)其實也有些注意的事項。

單個文件的讀操作:

我們先假設(shè)一個需求如下:

  • 讀取一個test.txt文件
  • 刪除指定字符之前的文本

需求明白之后,下面開始動手寫代碼,代碼很簡單。就直接上全部的,細(xì)節(jié)看注釋:

import sys

filePath = "/Users/xxxxxx/Desktop/test.txt"
# 打開文件
files = open(filePath, 'r')
# 轉(zhuǎn)成list
f_list = files.readlines()


tempIndex = 0
# 對f_list 循環(huán) 每個index對應(yīng)一行數(shù)據(jù)
for index in range(len(f_list)):
  # temp是獲取一行的數(shù)據(jù)
  temp = f_list[index]
  # 判斷"test"是不是temp這行數(shù)據(jù)的首位 如果是首位 result為true
  result = temp.find("test") == 0

  if result:
    # 如果是首位 這就是我們要刪除的位置 獲取他的index
    tempIndex = index
    break
# 存放新數(shù)據(jù)
tempContainer = []

for index in range(len(f_list)):
  if index > tempIndex:
    # tempIndex之前的數(shù)據(jù)我們不處理,把tempindex之后的數(shù)據(jù)存到新的list里面
    tempContainer.append(f_list[index])
# 這就獲得了我們需要的新數(shù)據(jù)
print(tempContainer)

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

  • 直接用open獲取的數(shù)據(jù)無法進(jìn)行處理,所以先轉(zhuǎn)成可以處理的數(shù)據(jù),比如list或者字典等。
  • python的open和C的類似,有r,r+, w, w+等各種狀態(tài),見具體介紹

open函數(shù)的常見操作方式

1、r 打開只讀文件,該文件必須存在。
2、r+ 打開可讀寫的文件,該文件必須存在。
3、w 打開只寫文件,若文件存在則文件長度清為0,即該文件內(nèi)容會消失。若文件不存在則建立該文件。
4、w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會消失。若文件不存在則建立該文件。

多文件讀寫保存

假設(shè)一個需求如下:

  • 多個文件都要處理
  • 和上面的test.txt處理方式類似
  • 處理完之后保存到一個新文件夾內(nèi)

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

  • 怎么同時操作多個文件
  • 然后怎么保存成多個文件

肯定是不能一個文件一個文件的去操作,太麻煩了。說下我的實現(xiàn)思路:

  • 把文件放在一個文件夾內(nèi)
  • 獲取這個文件夾內(nèi)所有的文件名,拼接成文件路徑
  • 然后創(chuàng)建一個空的新文件夾,用新的空文件夾加上原始的文件名拼接成新的路徑然后寫入進(jìn)去

下面上代碼:

import os

# 初始的文件夾路徑
filePath = "/Users/xxxxxxxx/Desktop/fileDocument"
# 存放新文件的空白文件夾
newFilePath = "/Users/xxxxxxxx/Desktop/newFileDocument"

# 獲取文件夾下所有文件名
fileNames = os.listdir(filePath)

for file in fileNames:
  # 如果當(dāng)前的文件名包含了'txt',就當(dāng)它是正確的文件(并不嚴(yán)謹(jǐn))
  if file.find("txt") >= 0:
    # 拼接成我們要讀取的完整路徑
    fileFullPath = filePath + "/" + file
    # open 函數(shù) 默認(rèn)是 'r'類型 ,
    singleFile = open(fileFullPath)
    # 轉(zhuǎn)換成list數(shù)據(jù)
    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行之后的數(shù)據(jù)
        newFile.writelines(singleFile_list[index])

    newFile.close()

上面的代碼其實沒啥要介紹的,就是一個for循環(huán)然后邏輯和單個文件讀操作一樣,只是多了個寫操作。

End

這只是自己因緣巧合寫的一些簡單的實現(xiàn),并沒有去系統(tǒng)的學(xué)習(xí)Python,好多API不了解,可能這種處理不是很好,沒注重性能,沒多線程。等以后深入學(xué)習(xí)了再優(yōu)化。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • tensorflow 1.X遷移至tensorflow2 的代碼寫法

    tensorflow 1.X遷移至tensorflow2 的代碼寫法

    本文主要介紹了tensorflow 1.X遷移至tensorflow2 的代碼寫法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python實現(xiàn)國外賭場熱門游戲Craps(雙骰子)

    Python實現(xiàn)國外賭場熱門游戲Craps(雙骰子)

    這篇文章主要介紹了Python實現(xiàn)國外賭場熱門游戲Craps(雙骰子)的源碼及運行方法,十分簡單,有需要的小伙伴可以參考下。
    2015-03-03
  • 關(guān)于數(shù)據(jù)分析之滾動窗口pandas.DataFrame.rolling方法

    關(guān)于數(shù)據(jù)分析之滾動窗口pandas.DataFrame.rolling方法

    Pandas庫中的rolling方法是數(shù)據(jù)處理中常用的功能,它允許用戶對數(shù)據(jù)進(jìn)行滾動窗口(滑動窗口)操作,通過指定窗口大小,可以使用不同的聚合函數(shù)對窗口內(nèi)的數(shù)據(jù)進(jìn)行計算,例如最大值、最小值、平均值、中位數(shù)等,此外,rolling方法還可以計算方差、標(biāo)準(zhǔn)差、偏度、峰度
    2024-09-09
  • 用Python編寫一個漏洞驗證腳本

    用Python編寫一個漏洞驗證腳本

    大家好,本篇文章主要講的是用Python編寫一個漏洞驗證腳本,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 一文詳解凱撒密碼的原理及Python實現(xiàn)

    一文詳解凱撒密碼的原理及Python實現(xiàn)

    凱撒密碼是古羅馬愷撒大帝用來對軍事情報進(jìn)行加密的算法,它采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列該字符后面第三個字符。本文主要為大家講解了凱撒密碼的原理及實現(xiàn),需要的可以參考一下
    2022-08-08
  • python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)

    python文件操作的基礎(chǔ)詳細(xì)講解(write、read、readlines、readline)

    使用python來讀寫文件是非常簡單的操作,下面這篇文章主要給大家介紹了關(guān)于python文件操作的基礎(chǔ)詳細(xì)資料,包括write、read、readlines、readline等相關(guān)操作,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • python tkinterEntry組件設(shè)置默認(rèn)值方式

    python tkinterEntry組件設(shè)置默認(rèn)值方式

    使用Tkinter庫中的Entry組件創(chuàng)建文本輸入框時,可以通過insert方法在指定位置插入默認(rèn)文本作為提示,結(jié)合使用focus和focusin事件,可以實現(xiàn)用戶點擊時清除默認(rèn)文本,以便輸入自定義內(nèi)容
    2024-09-09
  • Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解

    Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解

    這篇文章主要介紹了Python中的高級數(shù)據(jù)結(jié)構(gòu)詳解,本文講解了Collection、Array、Heapq、Bisect、Weakref、Copy以及Pprint這些數(shù)據(jù)結(jié)構(gòu)的用法,需要的朋友可以參考下
    2015-03-03
  • Python字符串類型及格式化問題

    Python字符串類型及格式化問題

    這篇文章主要介紹了Python字符串類型及格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔

    用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔

    大家好,本篇文章主要講的是用python生成mysql數(shù)據(jù)庫結(jié)構(gòu)文檔,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論