python攻城獅003 檔案 讀寫

2021-10-01 03:33:03 字數 3840 閱讀 6930

檔案讀寫是很重要的內容,這涉及到程式和本地文件的互動資訊.以下是內容.一切帝國的大廈,都在這上邊生根發芽.

之前兩篇

001-函式技巧\變數\包\標準庫

002-高階函式技巧-lambda\filter\map\reduce 函式

檔案讀寫模式 :有以下幾種,需要記住值描述

『r』讀取模式

『w』寫入模式

『x』獨佔寫入模式

『a』附加模式

『b』二進位制模式(與其他模式結合使用)

『t』文字模式(預設值,與其他模式結合使用)

『+』讀寫模式(與其他模式結合使用)

open函式

f=

open

('test.txt'

)

help(open)檢視幫助文件

close 文件

f.close(

)

with語法,用完了會自動關閉文件

with

open

('somefile'

)as f:

do_sometihng(f)

read()表示讀幾個字元\位元組

看**如下:注意研究其每行的注釋

readline()表示按行讀取,可以指定引數,表示讀前幾個字元

readlines()讀取所有行,並返回列表

def

read_file()

:""" 讀取檔案 """

file_name =

'test.txt'

# 使用絕對路徑

file_path =

'./test.txt'

file_path2 =

'./test.txt'

# 使用普通的方式來開啟檔案

with

open

(file_path2, encoding=

'utf-8'

)as f:

# 讀檔案所有內容

rest = f.read(

)# 讀取指定的幾個內容,下邊是8個字元

rest = f.read(8)

print

(rest)

print

(f.read(8)

)#在上述內容後繼續讀8個

# 隨機讀取

f.seek(10)

#跳過字元個數

print

(f.read(5)

)# 按行讀取

rest = f.readline(8)

# 按行讀前8字元, 這個8可以刪掉

print

(rest)

print

(f.readline(8)

)# print(f.readline())

# 讀取所有行

rest = f.readlines(4)

# 按行讀前8字元

print

(len

(rest)

)for i in rest:

print

(i)# 關閉檔案

f.close(

)if __name__ ==

'__main__'

: read_file(

)

write函式寫入開啟檔案

writelines函式想開啟的檔案物件寫入多行內容

import random

from datetime import datetime

#------------------------寫入幾行內容

defwrite_file()

:""" 寫入檔案 """

file_name =

'write_test.txt'

# 以寫入的方式開啟檔案

f =open

(file_name,

'w')

# 寫入一行內容

f.write(

'hello'

)# 換行符\n \r \r\n

f.write(

'\n'

)# 再寫入一行內內容

f.write(

'world'

)# 關閉檔案

f.close(

)#------------------------writelines

defwrite_mult_line()

:""" 向檔案中寫入多行內容 """

file_name =

'write_mult_line.txt'

with

open

(file_name,

'w', encoding=

'utf-8'

)as f:

l =['第一行'

,'\n'

,'第二行'

,'\r\n'

,'第三行'

] f.writelines(l)

#------------------------追加形式,不覆蓋

defwrite_user_log()

:""" 記錄使用者的日誌 """

# 記錄時間 + 記錄使用者的id ;format方法

rest =

'使用者: - 訪問時間 '

.format

(random.randint(

1000

,9999

), datetime.now())

print

(rest)

# 檔名稱

file_name =

'write_user_log.txt'

with

open

(file_name,

'a', encoding=

'utf-8'

)as f:

f.write(rest)

f.write(

'\n'

)#------------------------既要讀,又要寫

defread_and_write()

:""" 先讀,再寫入 """

file_name =

'read_and_write.txt'

with

open

(file_name,

'r+'

, encoding=

'utf-8'

)as f:

read_rest = f.read(

)# 如果有1,寫入一行資料bbb

# 如果裡面沒有1,就寫一行資料 aaa

if'1'

in read_rest:

f.write(

'bbbb'

)else

: f.write(

'aaaa'

) f.write(

'\n'

)if __name__ ==

'__main__'

:# write_file()

# write_mult_line()

# write_user_log()

read_and_write(

)

之前兩篇

001-函式技巧\變數\包\標準庫

002-高階函式技巧-lambda\filter\map\reduce 函式

Python從小白到攻城獅(6) 條件與迴圈

在前面幾篇文章中,我們學習了列表 元組 字典 集合和字串等一系列python的基本資料型別和資料結構。但僅靠這些資料結構型別是無法支援整個程式執行的,在程式設計中,流程控制是程式執行的基礎,它決定了程式按照什麼方式去執行。條件語句 python的條件語句和其他語言一樣,都是用if語句實現。if語句表...

python08 檔案操作之讀

20 00 2019 1 15 周二 檔案操作 open 相當於是乙個應用程式,通過open函式向作業系統上呼叫應用程式。賦值給f然後在進行操作。f open 九門 encoding utf 8 encoding utf 8 如果不加入這一行,會因為轉碼問題報錯。利用open 開啟檔案 data f...

Python筆記(15)檔案讀與寫詳解

user bin env python coding utf 8 author berlin 注意 1 檔案只有三種模式 r代表只能讀 w代表只能寫 a代表可以在文末追加文字 2 在w模式下,開啟open檔案時,又接著write新的文字。那麼結果是 清空原檔案的內容,寫入新的內容。這種情況會造成刪庫...