python檔案操作換行 Python檔案操作

2021-10-13 08:55:55 字數 2223 閱讀 2490

open的幾種模式

r      以讀方式開啟

w      以寫方式開啟

a      以追加模式開啟

r+     以讀寫模式開啟

w+     以讀寫模式開啟

a+     以讀寫模式開啟

rb     以二進位制讀模式開啟

wb     以二進位制寫模式開啟

ab     以二進位制追加模式開啟

rb+    以二進位制讀寫模式開啟

wb+    以二進位制讀寫模式開啟

ab+    以二進位制讀寫模式開啟

使用'w',檔案若存在,首先要清空,然後重新建立,

使用'a'模式,把所有要寫入檔案的資料都追加到檔案的末尾,即使你使用了seek()指向檔案的其他地方,如果檔案不存在,將自動被建立。

開啟檔案

>>> f = open('test.txt', 'r')

一次全部讀取

>>> f.read()

'111111111111\n2222222\n33333333\n44444444\n555555555\n66666666666666\n'

檢視當前所在檔案位置

>>> f.tell()

回到檔案開頭

>>> f.seek(0)

>>> f.tell()

每次讀取一行

>>> f.readline()

'111111111111\n'

>>> f.readline()

'2222222\n'

>>> f.readline()

'33333333\n'

返回檔案的下一行,或在沒有其他行時引發stopiteration異常

>>> f.next()

'66666666666666\n'

>>> f.next()

traceback (most recent call last):

file "", line 1, in

stopiteration

全部讀取

>>> f.seek(0)

>>> f.tell()

>>> f.readlines()

['111111111111\n', '2222222\n', '33333333\n', '44444444\n', '555555555\n', '66666666666666\n']

檢視檔案名字

>>> f.name

'test.txt'

關閉檔案

>>> f.close()

python引入了with語句來自動幫我們呼叫close()方法,不必使用f.close()

你可以反覆呼叫write()來寫入檔案,但是務必要呼叫f.close()來關閉檔案。當我們寫檔案時,作業系統往往不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再慢慢寫入。只有呼叫close()方法時,作業系統才保證把沒有寫入的資料全部寫入磁碟。

忘記呼叫close()的後果是資料可能只寫了一部分到磁碟,剩下的丟失了。所以,還是用with語句保險。

>>> with open('test.txt', 'r') as f:

...     print f.read()

二進位制檔案

'\xff\xd8\xff\xe1\x00\x18exif\x00\x00...' # 十六進製制表示的位元組

strip()的用法,把每一行末尾的換行符\n去掉

[root@python ~]# cat readlines.py

#!/usr/bin/env python

#file  readlines

f = open('/root/test.txt', 'r')

for line in f.readlines():

print line.strip()

f.close()

[root@python ~]# python readlines.py

檔案寫入

如果不存在who.txt,檔案將會被建立;如果存在,who.txt的內容將會被覆蓋

>>> f.close()

>>> f = open('who.txt', 'w+')

>>> f.write('bob pts/2 192.168.153.1\n')

>>> f.tell()

>>> f.close()

python 寫檔案換行

writelines 寫入檔案不會預設換行 file path c tt pyresult.txt str list 11 22 33 f open file path,w f.writelines str list 呼叫writelines方法 檔案結果 112233 需要顯示的加入換行標記 fi...

python寫入檔案自動換行問題

現在需要乙個寫檔案方法,將selenium的指令碼執行結果寫入test result.log檔案中 首先建立寫入方法 def write result str writeresult file r d eclipse4.4.1 script my selenium model test result...

python去掉txt檔案行尾換行

誤區 例項 對於原始檔案 使用以下語句只是對讀出的內容刪除了行尾的換行符,而不是真正將修改的結果寫入到原始的檔案中。filename text.txt with open filename,r as f print open ok for line in f.readlines for a in l...