python學習11 檔案,流

2022-05-02 16:48:11 字數 2139 閱讀 2837

開啟檔案

語法如下:open(name,[module[,buffering]]) ,模式 和緩衝引數都是可選的  

f = open(r'

c:\text\somefile.txt

')#如果檔案不存在

traceback (most recent call last):

file "", line 1, in

f = open(r'c:\text\somefile.txt')

ioerror: [errno 2] no such file or directory: 'c:\\text\\somefile.txt'

module  引數常用值

'r'讀模式

'w'寫模式

'a'追加模式

'b'二進位制模式(可新增到其他模式中使用)

'+'讀/寫模式(可新增到其他模式中使用)

緩衝open  函式的第3個引數(可選)控制著檔案的緩衝。

0 : 無緩衝,所有讀寫操作直接針對硬碟

1 : 有緩衝,用記憶體替代硬碟、

基本檔案方法

讀和寫 :檔案(或流)最重要的方法就是提供或者接受資料。

>>> f = open(r'

d:\a.txt

','w')

>>> f.write('

hello')

>>> f.write('

world')

>>> f.close()

>>> f = open(r'

d:\a.txt

','r

') # 'r' 可以省略

>>> f.read(4)

'hell

'>>>f.read()

'oworld

'

讀寫行file.readline([n])  -從當前位置開始,直到乙個換行符的出現(或者讀取最多 n個字元 字元)

file.readlines()  --讀取乙個檔案的所有行

writelines()  --給他乙個字串列表(可迭代的物件),他會把所有字串寫入檔案,需要自己新增新行

關閉檔案

close()  --關閉檔案

可以使用 try finally 中使用 close()

也可以使用 

with oepn(sdfsadfasdf) as f:

使用檔案的基本方法

read([n]),readline([n]),readlines(),write(),writelines()  --不做詳細的解釋了

對檔案內容進行迭代

按位元組進行處理

f = open(filename)

while char:

char = f.read(1)

if not char:break

process(char)  # 處理字串

f.close()

按行操作

f =open(filename)

while

char:

line=f.readline()

ifnot line:break

process(char)

#處理行

f.close()

讀取所有內容

如果檔案不夠太大,則可以用 read() 或者readlines()

使用fileinput 實現懶惰迭代

如果檔案足夠大,則不能用readlines,則適合用 for 迴圈 和 readline() 方法,也可以使用fileinput

import

fileinput

for line in

fileinput.input(filename):

process(line)

#對行進行處理

檔案迭代器

在python近幾個版本中,檔案物件是可迭代的,這就意味著可以直接在for 迴圈中使用它們,從而對它們進行迭代

f =open(filename)

for line in

f: process(line)

f.close()

ps:sys.stdin  注意該用法!

python學習11 檔案操作

1.檔案 open file,mode r buffering 1,encoding none,errors none,newline none,closefd true,opener none file 檔案路徑 其中雙斜槓表示轉義也可以用反斜槓代替這兩個斜槓。mode 開啟方式 其中 w表示先將...

python學習筆記 17 檔案和流

1.開啟檔案 open用法 open name mode buffering 第乙個引數檔名,返回乙個檔案物件 open r d 123.txt traceback most recent call last file line 1,in open r d 123.txt ioerror errno...

1 1 檔案許可權

站點目錄和檔案許可權 myproject index.php 結論 所有的許可權都是給予apache的許可權 其他人 而不是使用者和使用者組,因為是www data使用者執行所有的操作。之所以給使用者和使用者組設定合適的全下是方便開發人員檢視,編輯 而已 1 最小許可權 myproject apac...