檔案路徑:d:\log.txt
編碼方式:utf-8 gbk 。。。。
操作方式:唯讀,只寫,追加,讀寫,寫讀…
以什麼編碼方式儲存的檔案,就以什麼編碼開啟進行操作。
f =
open
('log'
, mode=
'r', encoding=
'utf-8'
)content = f.read(
(content,
type
(content)
)f.close(
)f =
open
('log'
, mode=
'rb',)
content = f.read(
(content)
f.close(
)
以』w』模式寫入檔案時,如果檔案已存在,會直接覆蓋f =
open
('log'
, mode=
'r+'
, encoding=
'utf-8'
(f.read())
f.write(
'大猛,小孟'
)f.close(
)f =
open
('log'
, mode=
'r+b'
(f.read())
f.write(
'大猛,小孟'
.encode(
'utf-8'))
f.close(
)
先將原始檔的內容全部清除,再寫。
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)
(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(
)
上述方法不必呼叫f.close()方法。with
open
('/path/to/file'
,'r'
)as f:
(f.read(
))
如果檔案有10g,記憶體就爆了,所以,要保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。
另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次讀取所有內容並按行返回list。因此,要根據需要決定怎麼呼叫。
如果檔案很小,read()一次性讀取最方便;如果不能確定檔案大小,反覆呼叫read(size)比較保險;如果是配置檔案,呼叫readlines()最方便:
for line in f.readlines():
(line.strip())
# 把末尾的'\n'刪掉
輸出:(空白,因為游標在最後面)with
open
('log'
,mode=
'a+'
,encoding=
'utf-8'
)as f:
f.write(
'美麗'
(f.read())
f.close(
)
解決辦法
seek可以按照位元組查詢資料with
open
('log'
,mode=
'a+'
,encoding=
'utf-8'
)as f:
f.write(
'美麗'
) f.seek(0)
(f.read())
f.close(
)
輸出:(log中全部的資料)
read是按照游標位置讀資料的。
read按字元去讀資料
seek按照位元組讀資料 utf-8中,乙個中文佔三個位元組!!!所以seek查詢中文時,引數要是3的倍數。
例如:乙個檔案log中有資料「今天天氣真好」
輸出:今天天氣真好with
open
('log'
,'r'
)as f:
content1 = f.read(
) content2 = f.seek(3)
# 0表示位元組的位置
(f.tell())
# 告訴游標的位置
(content1)
(content2)
count = f.tell(
) f.seek(count -9)
(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 和 都認 ...