python基礎讀寫文件05(python文件讀寫操作方法)

本文目錄一覽:

Python如何讀寫文本文件

1.open使用open打開文件後一定要記得調用文件對象的close()方法。比如可以用try/finally語句來確保最後能關閉文件。

file_object = open(‘thefile.txt’)

try:

all_the_text = file_object.read( )

finally:

file_object.close( )

註:不能把open語句放在try塊里,因為當打開文件出現異常時,文件對象file_object無法執行close()方法。

2.讀文件讀文本文件input = open(‘data’, ‘r’)

#第二個參數默認為r

input = open(‘data’)

讀二進制文件input = open(‘data’, ‘rb’)

讀取所有內容file_object = open(‘thefile.txt’)

try:

all_the_text = file_object.read( )

finally:

file_object.close( )

讀固定位元組file_object = open(‘abinfile’, ‘rb’)

try:

while True:

chunk = file_object.read(100)

if not chunk:

break

do_something_with(chunk)

finally:

file_object.close( )

讀每行list_of_all_the_lines = file_object.readlines( )

如果文件是文本文件,還可以直接遍歷文件對象獲取每行:

for line in file_object:

process line

3.寫文件寫文本文件output = open(‘data.txt’, ‘w’)

寫二進制文件output = open(‘data.txt’, ‘wb’)

追加寫文件output = open(‘data.txt’, ‘a’)

output .write(“\n都有是好人”)

output .close( )

寫數據file_object = open(‘thefile.txt’, ‘w’)

file_object.write(all_the_text)

file_object.close( )

python中怎麼讀取文件內容

用open命令打開你要讀取的文件,返回一個文件對象

然後在這個對象上執行read,readlines,readline等命令讀取文件

或使用for循環自動按行讀取文件

python讀寫文件

讀文件

    1)使用open()方法打開文件,返回一個文件對象

        原型:open(file, mode=’r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)

        舉例:f = open(‘test.txt’, ‘r’)

        test.txt表示文件路徑(包含文件名,這個file參數可以是絕對或者相對路徑)

        r表示是讀文本文件,rb是讀二進制文本文件。(這個mode參數默認值就是r)

    2)使用close()方法關閉文件

        f.close()

        打開後的文件必須關閉,因為文件對象會佔用系統資源,系統打開文件數量也就有限了

    3)打開文件時的異常處理

        f=open(‘test.txt’, ‘r’)

        f.read()

        f.close()

        FileNotFoundError: [Errno 2] No such file or directory: ‘test.txt’

        文件讀寫時都有可能產生異常IOError(比如文件不存在),這樣其後面的f.read(),f.close()就不會調用。為保證無論是否異常都可以關閉文件,一般使用try … finally來處理:

        try:

            f = open(‘test.txt’, ‘r’)

            f.read()

        finally:

            if f:

                f.close()

        但這種寫法過於繁瑣,所以Python引入了with語句來自動調用close()方法:

        with open(‘test.txt’, ‘r’) as f:

            f.read()

    4)讀文件 – read()、readline() 和 readlines()

        read() 一次讀取整個文件,它通常用於將文件內容放到一個字符串變量中。如果文件過大,內存不夠,可以通過反覆調用read(size)方法,每次最多讀取size個位元組的內容。

        readline() 一次讀取文件中一行內容,可反覆調用

        readlines() 一次讀取所有內容並按行返回列表,該列表可以由for … in … 結構再進一步處理。

        特別注意:

        這三種方法是把每行末尾的’\n’也讀進來了,如有需要就得我們手動去掉’\n’

        with open(‘test.txt’, ‘r’) as f:

            list = f.readlines()

        for i in range(0, len(list)):

            list[i] = list[i].rstrip(‘\n’)

寫文件

    1)寫文件和讀文件是一樣的,唯一區別是open文件時,傳入標識符不同,即’w’或者’wb’表示寫文本文件或寫二進制文件

    f = open(‘test.txt’, ‘w’)

    f = open(‘test.txt’, ‘wb’)

    f = open(‘test.txt’, ‘a’)

    f.close()

    特別注意:

    1. 如果沒有這個文件,會自動創建一個新文件;如果有,就會先把原文件的內容清空再寫入;若不想清空原來的內容而是直接在後面追加新的內容,就用’a’這個模式

    2. 寫文件,操作系統往往不會立刻把數據寫入磁盤,而是放到內存緩存起來,空閑的時候再慢慢寫入。只有調用close()方法時,操作系統才保證把沒有寫入的數據全部寫入磁盤。忘記調用close()的後果是數據可能只寫了一部分到磁盤,剩下的丟失了。

    2)寫文件 – write()、writelines()

    write()方法和read()、readline()方法對應,是將字符串寫入到文件中。

    writelines()方法和readlines()方法對應,也是針對 列表 的操作。它接收一個 字符串列表 作為參數,將他們寫入到文件中。

    特別注意:

    換行符不會自動的加入,需要顯式的加入換行符。

    f = open(‘test.txt’, ‘w’)

    f.writelines([“111\n”, “222\n”, “333\n”])

補充說明:

1)對於非默認編碼(utf-8)的文件,需要open時添加encording參數,選擇對應的編碼方式

2)r+, w+, a+,可讀可寫

3)seek()方法,移動文件指針

seek(offset[, whence]) ,offset是相對於某個位置的偏移量。位置由whence決定,默認whence=0,從開頭起;whence=1,從當前位置算起;whence=2相對於文件末尾移動,通常offset取負值。

Python中的文件讀寫-理論知識

Python處理兩種不同類型的文件:二進制文件和文本文件。了解兩者之間的差異很重要,因為它們的處理方式不同。

二進制文件

在正常計算機使用期間使用的大多數文件實際上是二進制文件,而不是文本。比如:Microsoft Word .doc文件實際上是一個二進制文件,即使它只有文本。

二進制文件的其他示例包括:

圖像文件,包括.jpg,.png,.bmp,.gif,等。

數據庫文件包括.mdb,.frm和.sqlite

文件,包括.doc,.xls,.pdf或者其他文件。

那是因為這些文件都有特殊處理的要求,需要特定類型的軟件來打開它。例如,您需要Excel來打開.xls文件,並使用數據庫程序來打開.sqlite文件。

文本文件

一方面,沒有特定的編碼,可以通過沒有任何特殊處理的標準文本編輯器打開。但是,每個文本文件都必須遵守一組規則:

文本文件必須是可讀的。他們可以(並且經常會)包含許多特殊編碼,尤其是在HTML或其他標記語言中,但您仍然可以說出它的含義

文本文件中的數據按行組織。在大多數情況下,每一行都是一個獨特的元素,無論是指令行還是命令。

此外,文本文件在每行的末尾都有一個看不見的字符,這使文本編輯器知道應該有一個新行。通過編程與這些文件交互時,您可以利用該字符。在Python中,它用「 n」 表示。

在哪裡可以找到Python的文件I / O工具

在Python中工作時,您不必擔心導入任何特定的外部庫來處理文件。Python附帶有「文件庫」,文件I / O工具和實用程序是核心語言的內置部分。

但是在其他語言(如C ++)中,要處理文件,您必須通過包含正確的頭文件來啟用文件I / O工具#include fstream。如果您使用Java編寫代碼,則需要使用該import java.io.*語句。

使用Python,就沒有必要這樣做,這是因為Python有一組內置函數,可以處理讀取和寫入文件所需的所有內容。

Python csv模塊(讀寫文件)

CSV文件又稱為逗號分隔值文件,是一種通用的、相對簡單的文件格式,用以存儲表格數據,包括數字或者字符。CSV是電子表格和數據庫中最常見的輸入、輸出文件格式。

通過爬蟲將數據抓取的下來,然後把數據保存在文件,或者數據庫中,這個過程稱為數據的持久化存儲。本節介紹Python內置模塊CSV的讀寫操作。

1)csv.writer()

csv模塊中的writer類可用於讀寫序列化的數據,其語法格式如下:

參數說明:

csvfile:必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象。

dialect:編碼風格,默認為excel的風格,也就是使用逗號,分隔。

fmtparam:格式化參數,用來覆蓋之前dialect對象指定的編碼風格。

如果想同時寫入多行數據,需要使用writerrows()方法,代碼如下所示:

aggs.csv文件內容:

2)csv.DictWriter()

當然也可使用DictWriter類以字典的形式讀寫數據,使用示例如下:

name.csv文件內容,如下所示:

1)csv,reader()

csv模塊中的reader類和DictReader類用於讀取文件中的數據,其中reader()語法格式如下:

2)csv.DictReader()

應用示例如下:

輸出結果:

開課吧廣場-人才學習交流平台

python request/讀寫/上傳文件

python 讀寫文件:

data_json = json.dumps(result_r)  #json字符串  

f =open(‘E://XXX.txt’,”a+”)  #打開文件,追加+讀寫

f.write(data_json) # data_json 寫入XXX.txt’文件

f.seek(0)  # 光標移動到文件開頭

lines = f.read() # 逐行讀入

f.close() #關閉文件

mode 打開的方式(r,w,a,x,b,t,r+,w+,a+,U)

r 以只讀方式打開文件。文件的指針會放在文件的開頭。

w 以寫入方式打開文件。文件存在覆蓋文件,文件不存在創建一個新文件。

a 以追加方式打開文件。如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。

r+ 打開一個文件用於讀寫,文件指針會放在文件的開頭

w+ 打開一個文件用於讀寫,文件存在覆蓋文件,文件不存在創建一個新文件。

a+ 打開一個文件用於讀寫,如果文件已存在,文件指針放在文件末尾。如果文件不存在,創建新文件並可寫入。

記憶方法:記住r讀,w寫,a追加,每個模式後加入+號就變成可讀寫。

f =open(‘E://xxx.txt’,”a+”)    /    f=open(r’E://xxx.txt’,mode=’a+’,encoding=’UTF-8′)

踩坑1  

沒有加encoding=’UTF-8’,可能會報如下錯:

import requests  # 使用 request函數需導入 request 庫

import json   #使用 JSON 函數需要導入 json 庫: import json 。

param ={} #請求body

url =’http://域名/api’ 

header = {‘content-type’:’application/json’}

r = requests.post(url,json=param,headers=header)    #發送post請求

result_r = r.json() #請求返回的json傳入對象result_r

data_json = json.dumps(result_r)  #將 Python-result_r對象轉為字符串 json.dumps()

文件上傳請求(csv文件)

file_path = “xxx.csv”   文件路徑

uploaddata = {“file”:open(file_path, “rb”)}  

file_upload_result = requests.post(api_URL, files=uploaddata, cookies=cookie)

原創文章,作者:KBGRR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130628.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KBGRR的頭像KBGRR
上一篇 2024-10-03 23:29
下一篇 2024-10-03 23:29

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論