本文目錄一覽:
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的文件打開讀寫相關函數和struct.
1。獲取文件名filename,可用對話框,也可以直接手寫
2。打開文件,這裡中是打開,像看書一樣,只是打開書,還沒有看裏面的內容,可以看,也可以不看
binFile=open(filename,’rb’)
3。那就看看吧,binFile現在就是書的名字了。這裡我們讀入4個字,如果read()將讀入整個文件
context=binFile.read(4)
4。讀入之後問題來了,context包含四個字(4Bytes),但這四個字是加密的(二進制)。這時要找翻譯struct.unpack
realContext=struct.unpack(format,context)
5。format的就是加密規則了,由1,2,4,8個位元組組成其他類型,或者其他類型的數組。
a,b,c,d=struct.unpack(‘4c’,context)
讀入四個字符
對應格式參考
6。打開文件後用完一定要關閉,和看書一個樣,看完後要合上,不合上後果自己去想
binFile.close()
7。查找內容,文件內容可以一個一個字的按順序讀出,但如果已經知道內容在什麼位置,可以用查找方式讀出。
binFile.seek(100)
context=binFile.read(4)
讀出100位置後面的4個字,(101,102,103,104)
8。Python還提供也一些高級讀寫功能,如整行讀取等
python文件的創建、寫入、讀取
最近在構思如何 本地化股票數據 ,覺得有必要複習一下python對文件的創建、寫入、和讀取。
首先先了解一下對於文件的處理都有常用函數:
open(path, mode):生成文件對象。
參數說明:path文件路徑、mode文件的操作模式
文件的操作模式說明
1、寫入模式:『w』創建、『wb』創建二進制、『a』追加內容、『ab』二進制形式追加內容(另外如在後面添加『+』號,附加讀取功能如:『w+』)
可用write()、writelines()寫入內容、close()保存文件
注意:windows系統在輸入寫入中文時,輸入參數 encoding=『utf-8』
可用read()函數對文件內容進行讀取
注意:讀取的內容是從結尾開始的,用seek(0)函數指定讀取位置為開頭
這裡我用『w+』模式來舉例
2、讀取模式:『r』讀取內容、『rb』讀取二進制內容(區別於寫入模式的讀取,讀取模式從開頭開始讀取)
除了read()、還有readline()調用一次返回一行數據、readlines()返回每行數據list
另外還有mode屬性:看查文件對象的模式、closed屬性:判斷文件是否關閉、name屬性:返迴文件名
這裡我還要介紹一個關鍵字with,他是一個表達式能為調用的文件對象別名,且自動關閉文件。
python讀取文件問題,基礎問題
如果注意了參數細節,應該完全一樣。注意編碼和換行符。
用for的第二種是使用文件對象的可迭代iterable特性..迭代不需要一次全部讀出所有行,可以用於異步操作
關於python對文件的處理
Python可以用來處理文件,包括讀取、寫入、複製和刪除文件。它提供了一組簡單而強大的函數,可以完成對文件的基本操作。以下是其中幾個常用的函數:
open()函數:用於打開文件,可以指定文件的模式(讀、寫或其他);
read()函數:用於讀取文件中的內容;
write()函數:用於寫入文件;
close()函數:用於關閉文件;
copy()函數:用於複製文件;
remove()函數:用於刪除文件;
rename()函數:用於重命名文件。
Python還提供了一些模塊,可以更方便地處理文件,如os、shutil和glob模塊等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154798.html