一:檔案的輸入:
在前面python基礎命令中,我們已經介紹過輸入,在此舉幾個例子解釋一下兩者的區別
raw_input()函式從標準輸入讀取乙個行,並返回乙個字串(去掉結尾的換行符):
input()函式和 raw_input() 函式基本類似,但是 input 可以接收乙個python表示式作為輸入,並將運算結果返回。
兩者的差異點在於input只能接受乙個正確的python表示式in [8]: a = input()
dddnameerror traceback (most recent call last)
in ()
----> 1 a = input()
in ()
nameerror: name 'ddd' is not defined
in [9]: b = raw_input()
ddsin [10]:
二:檔案處理的具體方法:
open 函式
你必須先用python內建的open()函式開啟乙個檔案,建立乙個file物件,相關的方法才可以呼叫它進行讀寫。
新建檔案haha,和執行操作的在同乙個目錄下a = open("haha","r") #開啟haha檔案並且只給他read許可權
print a.read()輸出:ewfevcsd模式描述
r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。
r+以讀寫的方式開啟,如果檔案不存在,直接報錯,當寫入內容的時候,檔案從指標指向的地方繼續寫入
rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。注:當我們寫乙個東西時,指標會停留在寫的東西的最後乙個字元,所以,當read時,即什麼也讀不到
wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
注:以上模式在使用的時候一定要加"",其次,在read的時候,一定要注意指標的位置。
read()方法
read()方法從乙個開啟的檔案中讀取乙個字串。需要重點注意的是,python字串可以是二進位制資料,而不是僅僅是文字。a = open("haha","r")
print a.read()
a = open("haha","r")
a = a.read(7) ####resd(數字表示從指標初始位置到你所加數字的位置)
print a
haha sfesdsghbrtfhbred
檔案為輸出:sfesdsg
檔案定位seek函式:修改指標位置
file.tell() #檢視檔案的指標位置
file.seek(偏移量,選項)
偏移量: >0.向右偏移量 <0 向左偏移
選項: 0:代表指向檔案開始 1:代表指向檔案當前 2:代表指向檔案最後a = open("haha","w+")
a.write("w+w+")
print a.tell()
a.seek(0,0)
print a.read()
輸出:4
w+w+
在加seek前 指標停留在最後,所以什麼也讀不出
flash()方法
flush() 方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入。
一般情況下,檔案關閉後會自動重新整理緩衝區,但有時你需要在關閉前重新整理它,這時就可以使用 flush() 方法。
close,檔案的關閉file.close() #關閉檔案
file.closed #檢視檔案是否關閉
檔案的重新命名和刪除
前提:倒入os模組import os
os.rename("haha","pipi")
然後你看看檔名是不是就改了呢
remove()方法
你可以用remove()方法刪除檔案,需要提供要刪除的檔名作為引數。
語法:import os
os.remove("ehhe")
mkdir()方法import os
os.mkdir("yaoyao")
chdir()方法:類似於linux的mv
可以用chdir()方法來改變當前的目錄。chdir()方法需要的乙個引數是你想設成當前目錄的目錄名稱。
語法:import os
os.mkdir("/home/example")
os.chdir("/home/example")
還有好多關於檔案處理的方法,具體會整理在os模組
file物件的屬性
乙個檔案被開啟後,你有乙個file物件,你可以得到有關該檔案的各種資訊。a = open("haha","w+")
a.write("w+w+")
a.seek(0,0)
print "檔名",a.name
print "檔案是否關閉",a.closed
print "檔案訪問模式", a.mode
輸出:檔名 haha
檔案是否關閉 false
檔案訪問模式 w+
Python檔案輸入輸出
本文以.txt檔案為例,說明python從.txt檔案中讀取內容和向.txt檔案寫入內容的方法。a.txt檔案內容 犬吠水聲中,桃花帶雨濃。樹深時見鹿,溪午不聞鐘。野竹分青靄,飛泉掛碧峰。無人知所去,愁倚兩三松。讀取檔案 open filename,mode open返回乙個檔案物件。第乙個引數是乙...
python 檔案輸入輸出
我們開啟乙個檔案,並使用乙個物件來表示該檔案 f open 檔名,模式 f open f.txt 文字形式 唯讀模式 預設值 f open f.txt rt 文字形式 唯讀模式 同預設值 f open f.txt w 文字形式 覆蓋寫模式 f open f.txt a 文字形式 追加寫模式 讀檔案 ...
pytho遞迴查詢所有檔案
遞迴的作用 遞迴常用於查詢多級資料夾的操作。import os 匯入os模組 deffindall path if os.path.exists path 判斷位址是否存在 x os.listdir path 獲取檔案列表 for i in x endpath os.path.join path,i...