PYTHON文件讀寫、坐標(biāo)尋址、查找替換-創(chuàng)新互聯(lián)

讀文件

10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有尼木免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

打開文件(文件需要存在)

#打開文件

f = open("data.txt","r") #設(shè)置文件對象

print(f)#文件句柄

f.close() #關(guān)閉文件

#為了方便,避免忘記close掉這個(gè)文件對象,可以用下面這種方式替代

with open('data.txt',"r") as f: #設(shè)置文件對象

str = f.read() #可以是隨便對文件的操作

PYTHON 文件讀寫、坐標(biāo)尋址、查找替換

完全讀取文件

#完全讀取文件

f = open("data.txt","r") #設(shè)置文件對象

string1 = f.read() #將txt文件的所有內(nèi)容讀入到字符串string1中

f.close() #將文件關(guān)閉

print(string1)

PYTHON 文件讀寫、坐標(biāo)尋址、查找替換

PYTHON 文件讀寫、坐標(biāo)尋址、查找替換

按按行讀取整個(gè)文件方法一(刪除回車)

#按行讀取整個(gè)文件方法一(刪除回車)

data = []

f = open("data.txt","r") #設(shè)置文件對象

line = f.readline()

if line !='\n' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉換行符,也可以不去

line_ = line[:-1]

data.append(line_)

while line: #直到讀取完文件

line = f.readline() #讀取一行文件,包括換行符

if line !='' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉換行符,也可以不去

line_ = line[:-1]

data.append(line_)

f.close() #關(guān)閉文件

print(data)

PYTHON 文件讀寫、坐標(biāo)尋址、查找替換

按行讀取整個(gè)文件方法一(不刪除回車)

#按行讀取整個(gè)文件方法一(不刪除回車)

data = []

f = open("data.txt","r") #設(shè)置文件對象

line = f.readline()

data.append(line)

while line: #直到讀取完文件

line = f.readline() #讀取一行文件,包括換行符

if line !='':

data.append(line)

f.close() #關(guān)閉文件

print(data)

按行讀取整個(gè)文件第二種方法

#按行讀取整個(gè)文件第二種方法

data = []

for line in open("data.txt","r"): #設(shè)置文件對象并讀取每一行文件

data.append(line) #將每一行文件加入到list中

print(data )

按行讀取整個(gè)文件第三種方法

f = open("data.txt","r") #設(shè)置文件對象

data = f.readlines() #直接將文件中按行讀到list里,效果與方法2一樣

f.close() #關(guān)閉文件

print(data)

將文件讀入numpy數(shù)組中

#將文件讀入數(shù)組中

import numpy as np

data = np.loadtxt("data.txt") #將文件中數(shù)據(jù)加載到data數(shù)組里

print(data)

寫文件

列表寫入文件

#列表寫入文件(直接)

data = ['a','b','c']

#單層列表寫入文件

with open("data.txt","w") as f:

f.writelines(data)

#列表寫入文件(加入一些東西)

data = ['a','b','c']

#單層列表寫入文件

with open("data.txt","w") as f:

for i in data:

f.write(i+'\r\n')

#二維列表寫入文件

data =[ ['a','b','c'],['a','b','c'],['a','b','c']]

with open("data.txt","w") as f: #設(shè)置文件對象

for i in data:

i = str(i).strip('[').strip(']').replace(',','').replace('\'','').replace(' ',',')+'\r\n' #將其中每一個(gè)列表規(guī)范化成字符串

print(i)

f.write(i)

#第二種方法,直接將每一項(xiàng)都寫入文件

data =[ ['a','b','c'],['a','b','c'],['a','b','c']]

with open("data.txt","w") as f: #設(shè)置文件對象

for i in data: #對于雙層列表中的數(shù)據(jù)

f.writelines(i)

#將數(shù)組寫入文件

import numpy as np

data =[ [1,2,3],[4,5,6],[7,8,9]]

# 第一種方法將數(shù)組中數(shù)據(jù)寫入到data.txt文件

np.savetxt("data1.txt",data)

# 第二種方法將數(shù)組中數(shù)據(jù)寫入到data.npy文件

np.save("data",data)

import numpy as np

filename = 'data.txt' # txt文件和當(dāng)前腳本在同一目錄下,所以不用寫具體路徑

dataele_list = []

with open(filename, 'r') as f:

while True:

lines = f.readline() # 整行讀取數(shù)據(jù)

if not lines:

break

dataele_tmp = [float(i) for i in lines.split()] # 將整行數(shù)據(jù)分割處理,如果分割符是空格,括號里就不用傳入?yún)?shù),如果是逗號, 則傳入‘,'字符。

dataele_list.append(dataele_tmp) # 添加新讀取的數(shù)據(jù)

dataele_np = np.array(dataele_list) # 將數(shù)據(jù)從list類型轉(zhuǎn)換為array類型。

print(dataele_np)

非替換寫入

#非替換寫入

#r+ 模式的指針默認(rèn)是在文件的開頭

# 如果直接寫入,則會覆蓋源文件,通過read() 讀取文件后,指針會移到文件的末尾,再寫入數(shù)據(jù)就不會有問題了。

# 這里也可以使用a 模式

f2 = open('data.txt','r+')

f2.read()

f2.write('\r\nhello boy!')

f2.close()

#非替換寫入

f2 = open('data.txt','a')

f2.write('\r\nhello fff!')

f2.close()無錫人流醫(yī)院 http://www.bhnkyy39.com/

文件坐標(biāo)插入讀取

# 在開始使用open打開文件時(shí)候,將打開方式從r,換成rb即可 才可以使用seek移動

f = open('data.txt','rb')

#f.tell() #獲取指針位置

print("初始位置",f.tell())

# 開頭位置偏離3位置

f.seek(3,0)

print("開頭位置偏離3位置",f.tell())

print("==",f.readline(),"==")

print("讀取一行后位置",f.tell())

# 當(dāng)前位置偏離5位置

f.seek(5,1)

print("當(dāng)前位置偏離5位置",f.tell())

print("==",f.readline(),"==")

print("讀取一行后位置",f.tell())

# 結(jié)尾偏離5位置

f = open('data.txt','rb')

f.seek(0,2)

print("結(jié)尾偏離0位置",f.tell())

print("==",f.readline(),"==")

print("讀取一行后位置",f.tell())

f.seek(3,2)

print("結(jié)尾偏離3位置",f.tell())

print("==",f.readline(),"==")

print("讀取一行后位置",f.tell())

內(nèi)容查找

# 內(nèi)容查找

import re

f = open('data.txt')

source = f.read()

f.close()

r = 'www'

s = len(re.findall(r,source))

print(s)

import re

f = open("data.txt",'r')

count = 0

for s in f.readlines():

li = re.findall("www",s)

if len(li)>0:

count = count + len(li)

print ("Search",count, "www")

f.close()

替換

#替換

f1 = open('data.txt','r')

f2 = open('data2.txt','w')

for s in f1.readlines():

f2.write(s.replace('www','w')+'\r\n')

f1.close()

f2.close()

#排序 去除空行 注釋

f = open('data.txt')

result = list()

for line in f.readlines(): # 逐行讀取數(shù)據(jù)

line = line.strip() #去掉每行頭尾空白

if not len(line) or line.startswith('#'): # 判斷是否是空行或注釋行

continue #是的話,跳過不處理

result.append(line) #保存

f.close()

result.sort() #排序結(jié)果

print(result)

f = open('data2.txt','w')

for line in result:

f.write(line+'\r\n')

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:PYTHON文件讀寫、坐標(biāo)尋址、查找替換-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article34/dgojse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、服務(wù)器托管、定制開發(fā)、虛擬主機(jī)微信小程序、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)