最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 實(shí)現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能

 更新時(shí)間:2019年09月11日 09:28:24   作者:呆呆象呆呆  
這篇文章主要介紹了Python 實(shí)現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

讀文件

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

#打開文件
f = open("data.txt","r")  #設(shè)置文件對(duì)象
print(f)#文件句柄
f.close() #關(guān)閉文件
#為了方便,避免忘記close掉這個(gè)文件對(duì)象,可以用下面這種方式替代
with open('data.txt',"r") as f:  #設(shè)置文件對(duì)象
  str = f.read()  #可以是隨便對(duì)文件的操作

完全讀取文件

#完全讀取文件
f = open("data.txt","r")  #設(shè)置文件對(duì)象
string1 = f.read()   #將txt文件的所有內(nèi)容讀入到字符串string1中
f.close()  #將文件關(guān)閉
print(string1)

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

#按行讀取整個(gè)文件方法一(刪除回車)
data = []
f = open("data.txt","r")  #設(shè)置文件對(duì)象
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)

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

#按行讀取整個(gè)文件方法一(不刪除回車)
data = []
f = open("data.txt","r")  #設(shè)置文件對(duì)象
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è)置文件對(duì)象并讀取每一行文件
  data.append(line)        #將每一行文件加入到list中
print(data )

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

f = open("data.txt","r")  #設(shè)置文件對(duì)象
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è)置文件對(duì)象
  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è)置文件對(duì)象
  for i in data:                                 #對(duì)于雙層列表中的數(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ù)分割處理,如果分割符是空格,括號(hào)里就不用傳入?yún)?shù),如果是逗號(hào), 則傳入‘,'字符。
    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)是在文件的開頭
# 如果直接寫入,則會(huì)覆蓋源文件,通過read() 讀取文件后,指針會(huì)移到文件的末尾,再寫入數(shù)據(jù)就不會(huì)有問題了。
# 這里也可以使用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()

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

# 在開始使用open打開文件時(shí)候,將打開方式從r,換成rb即可 才可以使用seek移動(dòng)
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')

總結(jié)

以上所述是小編給大家介紹的Python 實(shí)現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 用Eclipse寫python程序

    用Eclipse寫python程序

    本篇文章給大家通過寫第一個(gè)python程序來詳細(xì)說明Eclipse配置以及發(fā)布過程,有興趣的朋友學(xué)習(xí)下。
    2018-02-02
  • Python3.7安裝pyaudio教程解析

    Python3.7安裝pyaudio教程解析

    這篇文章主要介紹了Python3.7安裝pyaudio教程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python中的深拷貝和淺拷貝詳解

    Python中的深拷貝和淺拷貝詳解

    這篇文章主要介紹了Python中的深拷貝和淺拷貝詳解,本文講解了變量-對(duì)象-引用、可變對(duì)象-不可變對(duì)象、拷貝等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • python中shape[0]與shape[1]的說明

    python中shape[0]與shape[1]的說明

    這篇文章主要介紹了python中shape[0]與shape[1]的說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python實(shí)現(xiàn)連連看游戲

    python實(shí)現(xiàn)連連看游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python數(shù)據(jù)分析之Numpy庫的使用詳解

    Python數(shù)據(jù)分析之Numpy庫的使用詳解

    NumPy(Numerical Python)是Python的一種開源的數(shù)值計(jì)算擴(kuò)展。這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix)),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫
    2021-11-11
  • Python字符串的常見操作實(shí)例小結(jié)

    Python字符串的常見操作實(shí)例小結(jié)

    這篇文章主要介紹了Python字符串的常見操作,結(jié)合實(shí)例形式總結(jié)分析了Python字符串的查詢、轉(zhuǎn)換、分割、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • 在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython

    在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython

    這篇文章主要介紹了在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython的方法,wxPython可以為Python提供強(qiáng)大的圖形化界面開發(fā)支持,需要的朋友可以參考下
    2016-02-02
  • python3.5仿微軟計(jì)算器程序

    python3.5仿微軟計(jì)算器程序

    這篇文章主要為大家詳細(xì)介紹了python3.5仿微軟計(jì)算器程序的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Python3+PyCharm+Django+Django REST framework配置與簡單開發(fā)教程

    Python3+PyCharm+Django+Django REST framework配置與簡單開發(fā)教程

    這篇文章主要介紹了Python3+PyCharm+Django+Django REST framework配置與簡單開發(fā)教程,需要的朋友可以參考下
    2021-02-02

最新評(píng)論

房山区| 安塞县| 金昌市| 昭觉县| 黄平县| 宝兴县| 肥东县| 犍为县| 容城县| 罗源县| 长岛县| 资阳市| 留坝县| 江津市| 西宁市| 浦江县| 运城市| 辉南县| 扶风县| 汉沽区| 临夏县| 青铜峡市| 哈巴河县| 南安市| 大城县| 汕头市| 绍兴市| 鄂州市| 达拉特旗| 南昌市| 河间市| 烟台市| 安乡县| 清涧县| 罗源县| 吉水县| 筠连县| 内丘县| 如东县| 静乐县| 昂仁县|