python讀寫txt文件
㈠ python文件讀寫
常見的讀寫操作:
Python內置了讀寫文件的函數,用法和C是兼容的。本節介紹內容大致有:文件的打開/關閉、文件對象、文件的讀寫等。僅示例介紹 TXT 類型文檔的讀寫,也就是最基礎的文件讀寫,也需要注意編碼問題;
open() close() with open(...) as ...
看以下示例就能了解 Python 的 open() 及 close() 函數。這邊調用 read()方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示,具體使用參見下文。
在 E 盤 python_file 文件夾下新建一 a.txt,輸入隨意,如下:
Python 操作 打開及關閉方式 如下:
注意 open() 之後 一定要 close()。但由於文件讀寫時都可能產生IOError,為了保證無論是否出錯都能正確地關閉文件,我們用 try ... finally 來實現:
python 簡化了改寫法,即用 with open(...) as ... ; 建議之後文件讀寫都用該寫法:
上面,你肯定注意到了參數 "r";該參數決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。
相關參數:
File 對象
file 為一對象,它有一些內置屬性,如下
file對象的屬性:
read() read(size) readline() readlines()
之前的例子已經接觸到了 read() 函數,該函數會會一次性讀取文件的全部內容,如果能確保文件的大小,自然可以。但若文件過大,內存就爆了,所以,可以反復調用read(size)方法,每次最多讀取size個位元組的內容;也可調用 readline() 每次讀取一行內容;而調用readlines()可以一次讀取所有內容並按行返回list。總之,根據需求來。僅以 txt 文件為例,其他的文件讀取需要特殊處理;另外,文件的格式編碼方式也需要注意;這邊僅介紹讀取方法,其他的會出專題來學習。
在D:\python_file 下新建 poet.txt;示例如下,由於一個中文會佔多個位元組,故read(size) 部分會亂碼,如:
write()
寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件;'a' 對應的表示追加等。
如下示例,由於 write.txt 文件不存在,創建該文件並寫入:
在上例基礎上,繼續,該文件被重寫:
繼續,這次使用追加,會在文件結尾追加:
https://blog.csdn.net/msspark/article/details/86745391
https://www.cnblogs.com/tianyiliang/p/8192703.html
https://www.cnblogs.com/camilla/p/7234657.html
https://blog.csdn.net/songlh1234/article/details/83316468
https://www.php.cn/python-tutorials-412484.html
https://blog.csdn.net/weay/article/details/80946152
https://blog.csdn.net/xc_zhou/article/details/81044836
㈡ python讀取文件—txt文件常用讀寫操作
f = open("data.txt","r") #設置文件對象
f.close() #關閉文件
為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代
with open('data.txt',"r") as f: #設置文件對象
str = f.read() #可以是隨便對文件的操作
f = open("data.txt","r") #設置文件對象
str = f.read() #將txt文件的所有內容讀入到字元串str中
f.close() #將文件關閉
f = open("data.txt","r") #設置文件對象
line = f.readline()
line = line[:-1]
while line: #直到讀取完文件
line = f.readline() #讀取一行文件,包括換行符
line = line[:-1] #去掉換行符,也可以不去
f.close() #關閉文件
data = []
for line in open("data.txt","r"): #設置文件對象並讀取每一行文件
data.append(line) #將每一行文件加入到list中
f = open("data.txt","r") #設置文件對象
data = f.readlines() #直接將文件中按行讀到list里,效果與方法2一樣
f.close() #關閉文件
可以使用pandas的.read_csv,讀取文件的時候可以給每一列起名字,通過列名來調取相應列的數據。
import pandas as pd
data = pd.read_csv(" OSDO1012.txt",sep=',',header=None, names=['lat','lon','time','z']
使用data.lat就可以讀取名為lat這一列的數據
data = np.loadtxt("data.txt",skiprows = 1) #將文件中數據載入到data數組里,並且跳過第一行
with open('data.txt','w') as f: #設置文件對象
f.write(str) #將字元串寫入文件中
data = ['a','b','c']
單層列表寫入文件
with open("data.txt","w") as f:
f.writelines(data)
每一項用空格隔開,一個列表是一行寫入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #設置文件對象
for i in data: #對於雙層列表中的數據
i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n' #將其中每一個列表規范化成字元串
f.write(i) #寫入文件
直接將每一項都寫入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #設置文件對象
for i in data: #對於雙層列表中的數據
f.writelines(i) #寫入文件
np.savetxt("data.txt",data) #將數組中數據寫入到data.txt文件
np.save("data.txt",data) #將數組中數據寫入到data.txt文件
㈢ Python 創建文件——如何追加和寫入文本文件
Python 文件操作是編碼中不可或缺的一部分,它允許我們存儲和管理數據。本文將詳細介紹如何在 Python 中進行文件的寫入、追加和讀取操作。
首先,為了演示,我們設置一個簡單的項目結構。在你的主目錄中創建一個新目錄,然後新建一個空文本文件text.txt。
在 Python 中,推薦使用with關鍵字來處理文件,這樣可以確保文件在操作完成後正確關閉。以下是寫入文本文件的示例:
python
with open('text.txt', 'w') as file:
file.write('這是寫入的內容\n')
注意,每次調用`write()`方法後,原有內容會被覆蓋。若已有內容,先追加後寫入,應使用模式'a':
python
with open('text.txt', 'a') as file:
file.write('這是追加的內容\n')
讀取文件時,使用'r'模式,可以一次性讀取全部內容,或用for循環逐行讀取:
python
with open('text.txt', 'r') as file:
print(file.read()) # 一次性讀取全部內容
for line in file:
print(line) # 逐行讀取
通過這些基本操作,你已經掌握了 Python 文件的讀寫技巧。深入學習 Python 編程,可以參考更多資源,例如我們的粉絲福利教程,它將帶你探索語言的更多層面。祝你在學習過程中收獲滿滿,享受編程的樂趣!
㈣ python怎麼中文寫txt文件
本文以txt 文本為例,只是介紹ANSI,Unicode,UTF-8 三種編碼的文件的讀寫過程,對於編碼不做深究了
一、用記事本另存為時,可以選擇保存文本使用的的幾種編碼模式,分別為:
ANSI:默認保存的編碼格式,採用本地操作系統默認的內碼,簡體中文一般為GB2312。
Unicode:UTF-16的小端位元組序,加上BOM簽名:0xFFFE。
Unicode bigendian:Unicode編碼:UTF-16的大端位元組序,加上BOM簽名:0xFEFF。
UTF-8:編碼格式是:UTF-8,其BOM為0xEF BB BF(UTF-8不區分位元組序,這個BOM僅標志UTF-8編碼)
- def read_out(self): with codecs.open(self.filename, 'r+') as get: return get.read().decode('gbk')
- f.write(self.filename.encode('gbk'))
- content = raw_input().decode(sys.stdin.encoding)
- type(content) 是unicode
Python對於讀取的txt文件,最好在讀取的時候進行decode成unicode編碼,
然後再寫入的時候進行encode成對應想要的編碼類型,這樣可以保證源文件的編碼方式不會改變,且中文不會亂碼
整個代碼過程保持使用unicode編碼方式利用try…except 來進行編碼判別具體使用了那種編碼方式
二、對於raw_input 通過鍵盤輸入的文字,通過sys模塊中的stdin.encodeing來進行解碼
暫時這么多
㈤ python讀寫文件,如何將內容添加在文件開頭呢
# coding: utf8
import os
f = open('a.txt', 'r')
content = f.read() # 讀取文件內容
f_new = open('b.txt', 'w')
f_new.write('look !') # 開頭寫入內容
f_new.write(content) # 寫入原文件內容
f.close()
f_new.close()
os.remove('a.txt') # 移除老文件
os.rename('b.txt', 'a.txt') # 新文件命名為老文件名
·········································································