『壹』 Python中怎麼修改文件中的某一行內容。(文件很大,不能讀取全部內容)
摘要:Python環境下文件的讀取問題,請參見拙文Python基礎——文件這是一道著名的Python面試題,考察的問題是,Python讀取大文件和一般規模的文件時的區別,也即哪些介面不適合讀取大文件。1.read()介面的問題f=open(filename,'rb')f.read()我們來讀取1個nginx的日至文件,規模為3Gb大小。read()方法執行的操作,是一次性全部讀入內存,顯然會造成:MemoryError...也即會發生內存溢出。2.解決方案:轉換介面(1)readl
Python 環境下文件的讀取問題,請參見拙文 Python 基礎 —— 文件
這是一道著名的 Python 面試題,考察的問題是,Python 讀取大文件和一般規模的文件時的區別,也即哪些介面不適合讀取大文件。
1. read() 介面的問題
f = open(filename, 'rb') f.read()我們來讀取 1 個 nginx 的日至文件,規模為 3Gb 大小。read() 方法執行的操作,是一次性全部讀入內存,顯然會造成:
MemoryError ...也即會發生內存溢出。
2. 解決方案:轉換介面3. 真正 Pythonic 的方法
真正 Pythonci 的方法,使用 with 結構:
with open(filename, 'rb') as f: for line in f: <do something with the line>對可迭代對象 f,進行迭代遍歷:for line in f,會自動地使用緩沖IO(buffered IO)以及內存管理,而不必擔心任何大文件的問題。
There should be one – and preferably only one – obvious way to do it.
(1)readlines() :讀取全部的行,構成一個 list,實踐表明還是會造成內存的問題;
for line in f.reanlines(): ...(2)readline():每次讀取一行,
while True: line = f.readline() if not line: break(3)read(1024):重載,指定每次讀取的長度
while True: block = f.read(1024) if not block: break然後在循環裡面替換就好了
『貳』 KML如何製作表格
你好!
KML可以製作表抄格,基本途徑有兩個,前提都是要在轉換成純數據的基礎上。實際上這個問題的技巧也就在如何轉移成純數據上。基本思路是:通過直接修改擴展名將KML文件變成HTML文件,通過瀏覽器強行打開轉換後得到的文件(目的是過濾掉程序代碼),這時得到的就是純數據了。拷貝,通過文本編輯器或HTML編輯器,就可以輕松轉換成表格了。
——如何使用字處理程序的批處理功能,就不用介紹了吧。
打字不易,採納哦!
『叄』 Python文件操作,看這篇就足夠!
文件的存儲方式
  
 在計算機中,文件是以二進制的方式保存在磁碟上的文本文件和二進制文件
  
 文本文件可以使用文本編輯軟體查看本質上還是二進制文件
  
 二進制文件保存的內容不是給人直接閱讀的,而是提供給其她軟體使用的二進制文件不能使用文件編輯軟體查看
  
 文件基本操作
  
 在計算機中要操作文件一共包含三個步驟:1.打開文件2.讀、寫文件
  
 讀 將文件內容讀入內容寫 將內存內容寫入文件
  
  模式描述 
  
 t文本模式 (默認)。
  
 x寫模式,新建一個文件,如果該文件已存在則會報錯。
  
 b二進制模式。
  
 +打開一個文件進行更新(可讀可寫)。
  
 U通用換行模式(不推薦)。
  
 r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
  
 rb以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。一般用於非文本文件如圖片等。
  
 r+打開一個文件用於讀寫。文件指針將會放在文件的開頭。
  
 rb+以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。一般用於非文本文件如圖片等。
  
 w打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
  
 wb以二進制格式打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。一般用於非文本文件如圖片等。
  
 w+打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
  
 wb+以二進制格式打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。一般用於非文本文件如圖片等。
  
 a打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
  
 ab以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
  
 a+打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。
  
 ab+以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。
文件打開模式有很多,但是我們實際用到的就只有六種。
  
  我們總結一下主要用到的是下面六種 
  
 模式可做操作若文件不存在是否覆蓋文件原來內容
  
 r只讀報錯——
  
 r+可讀、可寫報錯是
  
 w只寫創建是
  
 w+可讀、可寫創建是
  
 a只寫創建否,追加寫
  
 a+可讀、可寫創建否,追加寫
  
 只讀模式打開文件——只讀(r)
  
 文件若不存在報錯:
讀寫模式打開文件——讀寫模式(r+)
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
 會替換掉相同長度的內容
  
 文件若不存在報錯:
寫模式打開文件——寫模式(w)
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
 這種操作會刪除原來的文件內容,重新寫入Python,
  
 並且把游標放在文件最開始。
  
 若文件不存在,系統會創建該文件夾並重新寫入內容
                                          
  讀寫模式打開文件——讀寫模式(w+) 
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
 這種操作會刪除原來的文件內容,重新寫入Python,
  
 並且把游標放在文件最開始。
  
 若文件不存在,系統會創建該文件夾並重新寫入內容
利用這個原理所以文件寫模式(w)、讀寫模式(w+)還可以用作刪除文件內容。 
  
 因為他們整個工作原理就是把文件原來的內容刪除,然後寫入新的內容。
  
 如果我們寫入的內容為空,那麼不就是刪除文件內容。
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
  寫模式打開文件(追加內容)——寫模式(a) 
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
 可以看到是在原先內容的基礎上在文末追加新的內容!
  
 若文件不存在,系統會創建新的文件夾並寫入內容
  
  讀寫模式打開文件(追加內容)——讀寫模式(a) 
  
 數據寫入之前:
                                          
 數據寫入之後:
                                          
 可以看到是在原先內容的基礎上在文末追加新的內容!
  
 若文件不存在,系統會創建新的文件夾並寫入內容
                                          
  二進制模式打開文件 
  
 我們看到了在文件打開模式中有以下模式:rb、wb……有這種帶 b 的。
  
 什麼意思呢?
  
 就是用二進制的方式打開文件。
  
 很明顯,我們出現了以下錯誤:
  
 主要原因是因為編碼的問題,可能是因為0x82這個位元組在gbk編碼中沒有這個字元,
  
 可能原字元是兩個位元組,在gbk里被解析成了一個位元組,導致字元不存在。
  
 這就是我們文件打開方式需要使用二進制讀取的原因。
                                          
  文件操作 
  
 open 函數負責打開文件,並且返迴文件對象
  
 read /write / close 三個方法都需要通過文件對象 來調用
  
 文件和文件夾的操作
  
 在Python中⽂件和⽂件夾的操作要藉助os模塊⾥⾯的相關功能,
  
 具體步驟如下:
  
 導⼊os模塊
  
 使⽤ os 模塊相關功能
1、文件重命名
2、刪除文件
3、創建文件夾
4、刪除文件夾
5、獲取當前目錄
6、改變默認目錄
7、獲取目錄列表
『肆』 怎麼打開kml文件
kml文件同kmz文件一樣,是作為保存地標文件的.其引入引出方法與kmz類似,只是選擇文件格式為kml就行了. 
kml與kmz不同的是,它是一種xml描述語言,是文本文件格式的.所以有它的優點,比如,可以直接貼在本網頁上. 由於是文本文件格式,其格式我們可以掌握,因而能通過程序自動生成kml語句. 
二.earth里的使用 
引入方法:與kmz文件一樣,直接打開就行了. 
引出方法:與kmz文件類似,但在輸入文件名時,要選擇存為kml文件. 
三.如何從網頁上下來,生成引入的kml文件 
1.在你的earth里,先隨便引出任一kml地標文件 
2.在資源瀏覽器里用滑鼠右鍵點按此文件,選擇菜單"打開方式"-->"記事本(notepad)",注意不要雙擊此kml文件 
3.在博客上打開已發布的kml文本網頁 
4.從菜單中選擇「全選」,「拷貝」 
5.回到2中記事本打開的kml文件里,按"ctrl-A"或用菜單「全選」全選所有文本,按"ctrl-V"或菜單"粘貼"粘貼從網頁中來的文本 
6.把包括「-------------------」以前的文本,不包括「</kml>」以後的文本刪除,然後按菜單"保存"保存文件 
7.在earth中打開或直接在資源瀏覽器里雙擊此kml文件,即引入了此kml文件 
8.注意kml文件引入後,可能不會放在temporary places里,而是直接放在它原來的文件夾里