1. 程式人生 > >Python-TXT文字操作

Python-TXT文字操作

一、列出IO操作的識別符號及描述

識別符號 描述
r 以只讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rb 以二進位制格式開啟一個檔案用於只讀。檔案指標將會放在檔案的開頭。這是預設模式。
r+ 開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。
rb+ 以二進位制格式開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w 開啟一個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
wb 以二進位制格式開啟一個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
w+ 開啟一個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
wb+ 以二進位制格式開啟一個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a 開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+ 開啟一個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+ 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

二、讀TXT檔案

要以讀檔案的模式開啟一個檔案物件,使用Python內建的open()函式,傳入檔名和標示符。

>>> f = open('/Users/wangjuan/test.txt', 'r')
#檔案開啟成功,呼叫read()方法可以一次讀取檔案的全部內容
>>> f.read()
'Hello, it is a test case!'
#呼叫close()方法關閉檔案
>>> f.close()

檔案使用完畢後必須關閉,因為檔案物件會佔用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的。

由於檔案讀寫時都有可能產生IOError,一旦出錯,後面的f.close()就不會呼叫。所以,為了保證無論是否出錯都能正確地關閉檔案,我們可以使用try ... finally來實現:

try:
    f = open('/Users/wangjuan/test.txt', 'r')
    print(f.read())
finally:
    if f:
        f.close()

但是每次都這麼寫實在太繁瑣,所以,Python引入了with語句來自動幫我們呼叫close()方法:

with open('/Users/wangjuan/test.txt', 'r') as f:
    print(f.read())

readlines() 方法用於讀取所有行(直到結束符 EOF)並返回列表,該列表可以由 Python 的 for... in ... 結構進行處理。如果碰到結束符 EOF 則返回空字串。舉例如下:

file = '/Users/wangjuan/test.txt'
f = open(file, 'r')
# 按行讀出檔案內容
sourceInLines = f.readlines()
f.close()
# 定義一個空列表,用來儲存結果
new = []
for line in sourceInLines:
      temp1 = line.strip('\n')  # 去掉每行最後的換行符'\n'
      temp2 = temp1.split(',')  # 以','為標誌,將每行分割成列表
      new.append(temp2)  # 將上一步得到的列表新增到new中

三、寫TXT檔案

寫檔案和讀檔案是一樣的,唯一區別是呼叫open()函式時,傳入識別符號'w'或者'wb'表示寫文字檔案或寫二進位制檔案:

>>> f = open('/Users/wangjuan/test.txt', 'w')
>>> f.write('Hello, world!')
>>> f.close()

可以反覆呼叫write()來寫入檔案,但是務必要呼叫f.close()來關閉檔案。當我們寫檔案時,作業系統往往不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再慢慢寫入。只有呼叫close()方法時,作業系統才保證把沒有寫入的資料全部寫入磁碟。忘記呼叫close()的後果是資料可能只寫了一部分到磁碟,剩下的丟失了。所以,還是用with語句來得保險:

import os

def write_re(result,type):
    file = str(os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "data/result.txt")))

    with open(file, type) as f:
        f.write(result)

當然如果你想寫入的內容繼續疊加的話,可以使用識別符號'a'或者' a+'或者'ab+'。

以上,對你有幫助的話,點贊吧~

相關推薦

Python-TXT文字操作

一、列出IO操作的識別符號及描述 識別符號 描述 r 以只讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。 rb 以二進位制格式開啟一個檔案用於只讀。檔案指標將會放在檔案的開頭。這是預設模式。 r+ 開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。 rb+ 以二進位制格

python txt基本操作

如下表 模式 可做操作 若檔案不存在 是否覆蓋 r 只能讀 報錯 - r+ 可讀可寫 報錯 是 w

Python讀寫txt文字檔案的操作方法全解析

一、檔案寫入(慎重,小心別清空原本的檔案) 步驟:開啟 -- 寫入 -- (儲存)關閉 直接的寫入資料是不行的,因為預設開啟的是'r' 只讀模式 使用r+ 模式不會先清空,但是會替換掉原先的檔案,如下面的例子:hello boy! 被替換成hello aay! path='G:\Python

Python筆記】操作讀取Excel檔案、文字檔案

需求:讀取Excel檔案、替換文字檔案中得指定某個字串並生成新的檔案 原始碼: #encoding:utf-8 # -*- coding: utf-8 -*- #!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2 #Author:

Python處理文字——刪除.txt每行中的不必要字元

最近實驗室給配了臺新電腦,想把原電腦上的python第三方庫遷移到新電腦上,但逐一使用pip安裝又太麻煩。現在使用pip命令批量安裝,省去逐一安裝的麻煩。 在原電腦CMD使用pip list命令獲得的package每行後面都帶有版本號,如下 C:\Users\27641>pip lis

python讀取TXT文字內容的字個數和每個字出現的個數

  python讀取TXT文字內容的字個數和每個字出現的個數 原始碼 # 開啟檔案 fr=open('xyj.txt','r', encoding='UTF-8') # 讀取檔案所有行 content=fr.readlines() contentLines='' charac

一文教你學會python讀取文字及字串常用操作

python 讀取txt檔案 開啟支付寶首頁搜尋‘543701491’,領取馬雲的支付寶紅包 Python的文字處理是經常碰到的一個問題,Python的txt檔案讀取中,有三類方法:read()、readline()、readlines(),這三種方法各有利弊,下面逐一介紹其使用方法和利

python簡單爬取網頁文字操作體會

自上次成功嘗試爬取了靜態頁面的圖片之後,本白又跟著另一篇博文做了一下爬取網頁文字的嘗試。基本程式碼都是來源於該篇博文,本人只是做了輕微修改。 簡單的實現爬蟲爬取網頁文字和圖片 以python3為背景,這裡還是先定義一個讀取html頁面資訊的函式: import urllib.

Python文字操作---資料篩選

1.匯入編碼模組 2.open():方法開啟文字 3.find():文字中找到相符和的值 4.write():寫入檔案 #字串檢索, #find函式找到返回位置 import codecs

Python文字操作---檔案指標

1.seek():跳到指定的檔案位置 # coding:utf-8 #遞迴檢索目錄下的檔名稱(列表) allfile = [] # 如果沒有這個檔案,新建一個檔案,檔名為:myAllfile.txt

C# 對txt文字進行按行操作簡易教程

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.

python txt檔案常用讀寫操作

檔案的開啟的兩種方式 f = open("data.txt","r") #設定檔案物件 f.close() #關閉檔案 #為了方便,避免忘記close掉這個檔案物件,可以用下面這種方式替代 with open('data.txt',"r") as f: #

Python學習12_python3.4.3實現txt文字指定字元提取

TXT文件中提取指定文字 在每天上班的路上,都會在地鐵上看看高曉鬆的《魚羊野史》。很有意思的一本書,口頭語言記錄成冊,來自《曉鬆奇談》。每天都會按著日期看,今天是哪一天就翻到哪一天,看看歷史上的今天發生了什麼事,大千世界,天文地理,古今中外,體育娛樂,歷史趣聞,明星軼事,無

python中如何讀寫txt文字文件

    1、tell()函式 返回當前檔案中游標的位置       獲取游標的位置       number = file_handle.tell() 2、seek()函式       第一個引數 offset 直接指定檔案的游標位置,調整游標位置 offset:偏移量      第二個引數 w

Python 檔案相關操作總結(讀寫 txt 檔案、複製檔案、獲得檔案列表等)

  本文平時程式設計中對於出現的 txt 的讀與寫入的相關方法彙總,因為是在學習過程中逐漸發現逐漸新增的,所以可能不會很全。但是我會保證持續的更新,使其趨於完善。   本片博文參考多篇博文彙總而成且在必要出添加了引用。 1. python獲取檔案路徑、檔名、字

Python文字操作---資料清洗

1.匯入編碼模組:codecs 2.資料清洗:把資料進行處理分類,可進行讀寫到文字上或者資料庫上 3.split():對特定的子串進行切割 import codecs filepath=r"Z:\

python提取影象的名字*.jpg到txt文字

# -*- coding:utf-8 -*- import sys sys.path.append('E:\\Anaconda\\libs') import os #os:作業系統相關的資訊模組 im

文字操作指令碼----shell和python哪個雞肋?

1.先看看文字,40多萬行的log資訊。處理要求:將第6列列印資訊tbmt:後面的數值按照十六進位制排序 2.shell指令碼如下圖,40萬行文字,指令碼沒關列印要執行6-8個小時左右才能處理完。 #! /bin/bash # -------------------

Python讀取txt文字出現“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”

1、通過python讀取temp.txt時,出現如下錯誤:錯誤的意思是:Unicode的解碼(Decode)出現錯誤(Error)了,以gbk編碼的方式去解碼(該字串變成Unicode),但是此處通過g

[Python] 專題五.列表基礎知識 二維list排序、獲取下標和處理txt文字例項

        通常測試人員或公司實習人員需要處理一些txt文字內容,而此時使用Python是比較方便的語言。它不光在爬取網上資料上方便,還在NLP自然語言處理方面擁有獨到的優勢。這篇文章主要簡單的介紹使用Python處理txt漢字文字、二維列表排序和獲取list下標。希望