天天看點

第六節:python檔案處理

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>file</code><code>(</code><code>'test.txt'</code><code>,</code><code>'r'</code><code>)   </code><code>#隻讀的方式,也是預設的方式。(如果test.txt檔案不存在會報錯。)</code>

<code>file</code><code>(</code><code>'test.txt'</code><code>,</code><code>'w'</code><code>)   </code><code>#寫一個檔案。(如果沒有此檔案,會在目前目錄下建立一個檔案)</code>

<code>file</code><code>(</code><code>'test.txt'</code><code>,</code><code>'a'</code><code>)   </code><code>#追加的方式。</code>

<code>file</code><code>(</code><code>'test.txt'</code><code>,</code><code>'w'</code><code>).write(</code><code>'abcdefghkhjisorg'</code><code>)  </code><code>#把abc,,寫入test.txt檔案,寫的方式會覆寫老檔案。</code>

<code>f</code><code>=</code><code>open</code><code>(</code><code>'/tmp/hello'</code><code>,</code><code>'w'</code><code>)   </code><code>#以寫的方式建立一個檔案。open(路徑+檔案名,讀寫模式) </code>

<code>with </code><code>open</code><code>(‘test.txt’,‘r’)as f: </code><code>#這種方式寫檔案,寫完以後不用關閉會自動儲存。</code>

<code>for</code> <code>i </code><code>in</code> <code>f.readlines():                    </code>

<code>    </code><code>print</code> <code>i  </code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>f</code><code>=</code><code>open</code><code>(</code><code>'a.log'</code><code>,</code><code>'w+r'</code><code>)</code>

<code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>10</code><code>):</code>

<code>    </code><code>f.write(</code><code>str</code><code>(i)</code><code>+</code><code>'\n'</code><code>)</code>

<code>f.close()</code>

<code>f</code><code>=</code><code>file</code><code>(</code><code>'a.log'</code><code>,</code><code>'r'</code><code>)</code>

<code>a</code><code>=</code><code>f.read()</code>

<code>print</code> <code>a</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>import</code> <code>random    </code><code>#random.randint(0,100)是從0-100選取随機數。</code>

<code>f</code><code>=</code><code>open</code><code>(</code><code>'a.log'</code><code>,</code><code>'a'</code><code>)</code>

<code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>,</code><code>10</code><code>):</code>

<code>    </code><code>#f.write(str(random.randint(0,1000))+'\n')</code>

<code>    </code><code>f.write(</code><code>str</code><code>(random.randint(</code><code>0</code><code>,</code><code>1000</code><code>)))</code>

<code>    </code><code>f.write(</code><code>'\n'</code><code>)</code>

<code>import</code> <code>random</code>

<code>#f=open('f.txt','a')</code>

<code>        </code><code>f</code><code>=</code><code>open</code><code>(</code><code>'f.txt'</code><code>,</code><code>'a'</code><code>)</code>

<code>        </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>0</code><code>,</code><code>10</code><code>):f.write(</code><code>str</code><code>(random.randint(</code><code>0</code><code>,</code><code>9</code><code>)))</code>

<code>        </code><code>f.write(</code><code>'\n'</code><code>)</code>

<code>        </code><code>f.close()</code>

<code>f</code><code>=</code><code>file</code><code>(</code><code>'test.txt'</code><code>,</code><code>'w'</code><code>)    </code><code>#建立一個檔案,類型為寫的方式打開</code>

<code>f.write(</code><code>'today is a good day\n'</code><code>)  </code><code>#換行 </code>

<code>f.close()  </code><code>#關閉并儲存(要以r的方式關閉)。</code>

<code>f.read()    </code><code>#讀入寫入的全部内容</code>

<code>f.flush()  </code><code>#重新整理寫入磁盤(以r的方式關閉)</code>

<code>f.tell()                                             </code><code>#顯示現在第幾個字元。</code>

<code>f.seek(</code><code>0</code><code>)  </code><code>#移到指定的字元位置。例如:移到第33個字元。f.seek(33)</code>

<code>f.readline()  </code><code>#換行的方式讀,每次隻讀一行。</code>

<code>f.readlines()  </code><code>#以清單的方式讀全部内容</code>

<code>content</code><code>=</code><code>f.read()  </code><code>#把檔案讀的方式傳給content</code>

<code>content      </code><code>#檢視content内容</code>

<code>content.split(</code><code>'\n'</code><code>)[</code><code>0</code><code>] </code><code>#分行的方式檢視檔案,[0]時,檢視的是第一行。[1]時,檢視的第二行。</code>

<code>c</code><code>=</code><code>f.readlines() </code>

<code>c</code>

<code>c[</code><code>0</code><code>]</code>

<code>c[</code><code>1</code><code>]</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>把螢幕的輸出寫入到檔案中。(注意,此方式結果不會在螢幕上顯示。)</code>

<code>import</code> <code>sys</code>

<code>sys.stdout </code><code>=</code> <code>open</code><code>(</code><code>'/tmp/audit.log'</code><code>,</code><code>'a+w'</code><code>)</code>

<code>修改替換檔案:</code>

<code> </code><code>for</code>  <code>i </code><code>in</code> <code>fileinput.</code><code>input</code><code>(</code><code>'a.log'</code><code>,inplace</code><code>=</code><code>1</code><code>):</code>

<code>     </code><code>i</code><code>=</code><code>i.replace(</code><code>'break'</code><code>,</code><code>'continue'</code><code>) </code>

<code>     </code><code>print</code> <code>i</code>

<code>先備份,再修改檔案:</code>

<code>  </code><code>for</code>  <code>i </code><code>in</code> <code>fileinput.</code><code>input</code><code>(</code><code>'a.log'</code><code>,inplace</code><code>=</code><code>1</code><code>,backup</code><code>=</code><code>'.bak'</code><code>):</code>

版權聲明:原創作品,謝絕轉載。否則将追究法律責任

本文轉自 王家東哥 51CTO部落格,原文連結:http://blog.51cto.com/xiaodongge/1862062