1. 程式人生 > >python裡面對檔案的讀寫操作

python裡面對檔案的讀寫操作

python對檔案的讀操作用read,readline,readlines。

read可以接受一個變數以限制每次讀取的數量。read每次讀取整個檔案,並將檔案內容以字串形式儲存。(見下面的例子)

對於連續的面向行的處理,它是不必要的,如果檔案大於記憶體,該方法也不可行。

readline和readlines較為相似,它們之間的差異是readlines一次讀取整個檔案,像read一樣。readlines自動將檔案內容按行處理成一個列表

另一方面,readline每次只讀取一行,通常比readlines慢很多,僅當沒有足夠記憶體可以一次讀取整個檔案時,才會用readline

看一下例項:

以fortext.txt文字為例:

#coding=utf-8
fo =open("H:/fortext.txt","r")
#case1
#print type(fo.readlines())  輸出結果為list型別
for line in  fo.readlines():
    print line
#case2
line = fo.readline()
#print type(fo.readline()) 輸出結果為str型別
print line
while line:
    print line
    line=   fo.readline()
#print type(fo.read())   輸出結果為str型別

最後的輸出結果都是:

對檔案的寫操作有write和writelines,(沒有WriteLine)

先用一個小小的例子來看看write和writelines到底是什麼

fi  =   open(r"H:/text.txt",'a+')     #a+表示開啟一個檔案用於讀寫。如果該檔案已存在,
                                        # 檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。
                                        #如果該檔案不存在,建立新檔案用於讀寫。(text.txt檔案還並未存在)
#fi.write("123");fi.seek(0,0);print fi.read()
#fi.writelines("123");fi.seek(0,0);print fi.read()

分別執行write和writelines,發現結果都是

writelines並不多加一個換行

百度之後發現;

百度‘write writelines python’第一條的結果是:

Use the write() function to write a fixed sequence of characters -- called a string -- to a file. You cannot use write() to write arrays or Python lists to a file. If you try to use write() to save a list of strings, the Python interpreter will give the error, "argument 1 must be string or read-only character buffer, not list."
write函式可以用來對檔案寫入一個字串,但不能使用write 對檔案寫入一個數組或者list,如果你企圖使用write對檔案寫入一個字串list表單,Python將報錯

即如果寫成

#write和writelines
fi  =   open(r"H:/text.txt",'a+')     #a+表示開啟一個檔案用於讀寫。如果該檔案已存在,
                                        # 檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。
                                        #如果該檔案不存在,建立新檔案用於讀寫。(text.txt檔案還並未存在)
#fi.write("123");fi.seek(0,0);print fi.read()   #必須加fi.seek;否則會因為fi.read函式而讀入亂碼
#fi.writelines("123");fi.seek(0,0);print fi.read()
fi.write(['1','2','3'])

這樣的話就會報錯。

繼續檢視百度,

The writelines() function also writes a string to a file. Unlike write(), however, writelines can write a list of strings without error. For instance, the command nameOfFile.writelines(["allen","hello world"]) writes two strings "allen" and "hello world" to the file foo.txt. Writelines() does not separate the strings, so the output will be "allenhello world."writelines同樣是對檔案寫入一個字串,但是跟write不同的是,writelines可以操作list字串。比如, 輸入命令 offile.writelines(["allen","hello world"]) 將兩個字串"allen" and "hello world" 同時寫入了檔案foo.txt中。但writelines 並沒有分開這些字串,輸出應該是"allenhello world."

如果將上面的fi.write修改成fi.writelines,檔案裡面就會寫入123.

另外,列表裡面的元素型別必須是字串型別,這樣才能寫入檔案。

相關推薦

[cocos2dx 3.0 (一)] 檔案操作 +FileUtils類

一直想學習下游戲程式設計,但總是沒下定決心。現在就從Cocos2dx開始學習吧,以後也要堅持寫些經驗文章,就當是給我自己的學習歷程的一個記錄吧。 我現在下的cocos2dx版本是3.0beta2的,而網上的大多數教程都是2.x的,有些地方有些小不同,所以難免碰到點磕碰。但這

python裡面檔案操作

python對檔案的讀操作用read,readline,readlines。 read可以接受一個變數以限制每次讀取的數量。read每次讀取整個檔案,並將檔案內容以字串形式儲存。(見下面的例子) 對於連續的面向行的處理,它是不必要的,如果檔案大於記憶體,該方法也不可行。

Pythoncsv檔案操作

 包括使用csv模組進行檔案讀寫,使用requests模組進行檔案傳送。 def pay_task_by_self(self): global success_writer, fail_writer, cont dir_path = os.path.dirname(_

使用PythonAccess操作

microsoft win32com 更新 mov break 執行sql update 模塊 print 學習Python的過程中,我們會遇到Access的讀寫問題,這時我們可以利用win32.client模塊的COM組件訪問功能,通過ADODB操作Access的文件。

Java檔案操作詳解

Java中檔案讀寫操作的作用是什麼?回答這個問題時應該先想到的是Java只是一門語言,我們的一種使用工具而已,這樣答案就明晰了,就是將外來的各種資料寫入到某一個檔案中去,用以儲存下來;或者從檔案中將其資料讀取出來,供我們使用。就如下電影過程,從網路資源中下載一部電影保存於你

python檔案操作---檔案路徑含有中文開啟錯誤

python檔案讀寫操作之檔案路徑含有中文,開啟錯誤 用Python讀入檔案時,若是路徑包含中文,直接開啟會出現錯誤 處理:使用unicode函式,對路徑進行編碼,然後再開啟,便可以。 #coding:utf-8 #對路徑進行編碼,不然,檔案路徑含有中文的話,會出現錯誤 f

Python】文件操作

class 控制臺 路徑 數據 編碼 data- ack dev dsm Python的文件讀寫有點類似php的文件讀寫。php的文件讀寫已經在《【php】讓記事本成為你調控變量的控制臺》(點擊打開鏈接)說過了,以下用一個小樣例說明Python的文件讀

python針對excel的操作-----openpyxl

mes val openpyxl rom ges exce 內容 循環 就是 #python讀取excel from openpyxl import load_workbook wb = load_workbook(‘test.xlsx‘) print(wb.sheet

python--文件的操作

寫入文件 文件基本操作 bubuko 操作文件 大於 文件 x文件 簡單 內容 Python提供了必要的函數和方法進行默認情況下的文件基本操作 文件打開方式: open(name[,mode[buf]]) name:文件路徑 mode:打開方式 buf:緩沖bufferin

[ Python ] 文件的操作

pri 使用 不能 分享圖片 Coding TP 讀寫操作 PE col 1. 文件讀寫操作 讀寫文件是最常見的 IO 操作, Python 內置了讀寫文件的函數。在磁盤上讀寫文件的功能是由操作系統提供的,所以讀寫文件是請求操作系統打開一個文件對象(通常稱為文件描述符

json.dump json.load與檔案操作

一.寫檔案 info={"name":"李小龍",'age':66,'love':"cat"} fp=open('testdict1.txt','w+',encoding='utf-8') fp.write(info) ls=list('1234567890') # print(ls) f

C/C++檔案操作 —— windowsAPI

轉自:http://blog.sina.com.cn/s/blog_6e7fed390100z0j1.html 基於C的檔案操作 在ANSI C中,對檔案的操作分為兩種方式,即流式檔案操作和I/O檔案操作,下面就分別介紹之。 一、流式檔案操作 這種方式的檔案操作有一個重要的結構

HDFS檔案操作 (通俗易懂)

首先來介紹兩個概念 ▪NameNode:領導級別。管 NameNode:領導級別。管理資料塊對映;處理客戶端的讀寫請求;配置副本策略;管理HDFS的名稱空間; DataNode:員工級別。負責儲存客戶端發來的資料塊block;執行資料塊的讀寫操作。 理資料 寫詳細步驟: 1、首先

React Native檔案操作

最近公司專案要求進行定時上傳位置資訊,及埋點,因為使用的是RN開發,一開始就是想到在Android和Ios原生裡進行操作。 在原生裡面實現了定時任務,Android裡面使用的是broadcastReceive + service + timer實現了。 現在需要生成一個日誌檔案,一開始想在原生裡面進

Python檔案流的操作,以及json和pickle的理解

1.關於Python對檔案流的操作: 格式:open( 檔名,模式,encoding=‘utf8’,buffering=-1 ) encoding->編碼 buffering->快取,預設-1 本人也是初學者,在Python官網上看到的相關的文件,說的不好還請諒解,指出。

python中json檔案

下面介紹json檔案的相關操作 我瞭解到Json,全名 JavaScript Object Notation,是一種輕量級的資料交換格式。Json最廣泛的應用是作為AJAX中web伺服器和客戶端的通訊的資料格式。現在也常用於http請求中,所以對json的各種學習,是自然而然的事情。

Android SD卡簡單的檔案操作

Android SD卡簡單的檔案讀寫操作   最近有這樣的需求,把每次統計到的資料,以txt形式儲存到手機SD卡或是手機記憶體中,遇到一些問題,記錄下來。   首先如果要在程式中使用sdcard進行儲存,我們必須要在AndroidManifset.xml檔案進行下

Java檔案管理工具

Java對檔案讀寫管理工具 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import j

java大檔案操作,java nio 之MappedByteBuffer,高效檔案/記憶體對映

原文地址:https://www.cnblogs.com/lyftest/p/6564282.html   java處理大檔案,一般用BufferedReader,BufferedInputStream這類帶緩衝的Io類,不過如果檔案超大的話,更快的方式是採用MappedByteB

Scala的檔案操作與正則表示式

在本篇部落格中你將會學習並瞭解常用的檔案處理任務,例如讀取檔案的一行文字,本部落格的要點包含: Source.fromFile(...).getLines.toArray 輸出檔案所有行 Source.fromFile(...).mkString 以字串形式輸出檔案內容 將字串轉換為數字,可以使用toI