04 檔案操作

2021-09-12 18:20:38 字數 3460 閱讀 9837

檔案路徑:d:\log.txt

編碼方式:utf-8 gbk 。。。。

操作方式:唯讀,只寫,追加,讀寫,寫讀…

以什麼編碼方式儲存的檔案,就以什麼編碼開啟進行操作。

f =

open

('log'

, mode=

'r', encoding=

'utf-8'

)content = f.read(

)print

(content,

type

(content)

)f.close(

)f =

open

('log'

, mode=

'rb',)

content = f.read(

)print

(content)

f.close(

)

f =

open

('log'

, mode=

'r+'

, encoding=

'utf-8'

)print

(f.read())

f.write(

'大猛,小孟'

)f.close(

)f =

open

('log'

, mode=

'r+b'

)print

(f.read())

f.write(

'大猛,小孟'

.encode(

'utf-8'))

f.close(

)

以』w』模式寫入檔案時,如果檔案已存在,會直接覆蓋

先將原始檔的內容全部清除,再寫。

f =

open

('log'

, mode=

'w', encoding=

'utf-8'

)f.write(

'附近看到類似糾紛'

)f.close(

)f =

open

('log'

, mode=

'wb'

)f.write(

'附近看到類似糾紛'

.encode(

'utf-8'))

f.close(

)

f =

open

('log'

,mode=

'w+'

,encoding=

'utf-8'

)f.write(

'aaa'

)f.seek(0)

print

(f.read())

f.close(

)

f =

open

('log'

,mode=

'a',encoding=

'utf-8'

)f.write(

'美麗'

)f.close(

)f =

open

('log'

,mode=

'ab'

)f.write(

'美麗'

.encode(

'utf-8'))

f.close(

)

with

open

('/path/to/file'

,'r'

)as f:

print

(f.read(

))

上述方法不必呼叫f.close()方法。

如果檔案有10g,記憶體就爆了,所以,要保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。

另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次讀取所有內容並按行返回list。因此,要根據需要決定怎麼呼叫。

如果檔案很小,read()一次性讀取最方便;如果不能確定檔案大小,反覆呼叫read(size)比較保險;如果是配置檔案,呼叫readlines()最方便:

for line in f.readlines():

print

(line.strip())

# 把末尾的'\n'刪掉

with

open

('log'

,mode=

'a+'

,encoding=

'utf-8'

)as f:

f.write(

'美麗'

)print

(f.read())

f.close(

)

輸出:(空白,因為游標在最後面)

解決辦法

with

open

('log'

,mode=

'a+'

,encoding=

'utf-8'

)as f:

f.write(

'美麗'

) f.seek(0)

print

(f.read())

f.close(

)

seek可以按照位元組查詢資料

輸出:(log中全部的資料)

read是按照游標位置讀資料的。

read按字元去讀資料

seek按照位元組讀資料  utf-8中,乙個中文佔三個位元組!!!所以seek查詢中文時,引數要是3的倍數。

例如:乙個檔案log中有資料「今天天氣真好」

with

open

('log'

,'r'

)as f:

content1 = f.read(

) content2 = f.seek(3)

# 0表示位元組的位置

print

(f.tell())

# 告訴游標的位置

print

(content1)

print

(content2)

count = f.tell(

) f.seek(count -9)

print

(f.read())

# 輸出最後三個字

輸出:今天天氣真好

天天氣真好

氣真好

import os

os.remove(

'file_name'

)#刪除檔案

os.rename(

'oldfile_name'

,'newfile_name'

)#重新命名檔案

Linux04檔案及目錄基本操作

檔案及目錄基本操作 mkdir 目錄名 mkdir p a das 建立遞迴目錄 touch a.txt b.txt c.txt 建立多個檔案 touch a 1.10 建立檔案a1到a9 rm f 檔名 f,強制,不提示 rm rf 目錄 f,強制,不提示,刪除目錄 pwd 當前目錄 ls 檔案 ...

Git 04 檔案刪除

工作區就是我們的git本地倉庫,也就是乙個很普通的目錄 通過add指令新增檔案到暫存區中,在通過commit指令提交到版本分支,所謂的版本分支,就是就是這個藍色的master標識,這個就是分支的名字 當前分支是master主分支,當然還可以建立其他分支進行控制 現在來建立乙個新檔案並且一併提交 當前...

1 檔案測試 2 檔案操作

1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...