python輸入檔案 python 檔案的輸入輸出

2021-10-11 09:46:02 字數 3068 閱讀 5022

一:檔案的輸入:

在前面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...