思考:什麼是檔案?
檔案操作的作用?
開啟,關閉,讀,寫,複製。。。。
檔案操作的作用是什麼?
讀取,寫入,備份內容。
二檔案的基本操作
開啟檔案
讀寫等操作
關閉檔案
注意:可以只開啟和關閉檔案,不進行任何讀寫操作。
2.1.1 開啟
在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個人新檔案,語法如下:
open
(name,mode)
name:是要開啟的目標檔名的字串(可以包含檔案所在的具體路徑)。
mode:設定開啟檔案的模式:唯讀,寫入,追加等。
#1開啟open()
f=open
('text.txt'
,'w'
)#2讀寫操作
f.write(
'aaaa'
)f.close(
)
mode 引數有:
模式描述
r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式
w開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
這只是簡單的幾個例子,詳細請看
其他模式
#1開啟open()
# f=open('text2.txt','a')
# #2讀寫操作
# f.write('aaaaa')
# f.close()
f=open
('text2.txt'
)f.close(
)"""
w 訪問會覆蓋之前的內容
a 會追加之前的寫入內容
"""
2.1.2.2讀檔案物件.read(num)
num 表示要從檔案中讀取的資料的長度,如果沒有傳入num,就表示讀取檔案中所有的資料。
f=
open
('text.txt'
,'r'
)print
(f.read(10)
)f.close(
)"""
aaaaa
sssss
ddddd
fffff
ggggg
aaaaa
ssss
"""
readlines可以按照行的方式把整個檔案的內容進行一次性讀取,並且返回的是乙個列表,其中每一行的資料為乙個元素。
f =
open
('text.txt'
)content=f.readlines(
)print
(content)
f.close(
)"""
['aaaaa\n', 'sssss\n', 'ddddd\n', 'fffff\n', 'ggggg']
"""
f =
open
('text.txt'
)content=f.readline(
)print
(content)
content=f.readline(
)print
(content)
f.close(
)"""
aaaaa
sssss
"""
讀取內容時:
考慮兩點
讀取模式
檔案指標
2.1.2.3seek()
作用:用來移動檔案指標
語法如下:
檔案物件,seek(偏移量,起始位置)
起始位置:
# f = open('text.txt','r+')
# f.seek(2,0)
# con=f.read()
# print(con)
# f.close()
# """
# aaa
# sssss
# ddddd
# fffff
# ggggg
# """
f =open
('text.txt'
,'a+'
)f.seek(0)
con=f.read(
)print
(con)
f.close(
)"""
aaaaa
sssss
ddddd
fffff
ggggg
"""
需求:使用者輸入當前目錄下任意檔名,程式完成對該檔案的備份功能。例如text.[備份].txt
步驟:接受使用者輸入的檔名
規劃備份檔案名
備份檔案寫入資料
#使用者輸入的目標檔案 aa.txt.***
old_name=
input
('請輸入要備份的檔案的名字'
)#print(old_name)
#print(type(old_name))
index=old_name.rfind(
'.')
# print(index)
# print(old_name[:index])
if index>0:
postfix=old_name[index:
]new_name=old_name[
:index]
+'[備份]'
+postfix
print
(new_name)
old_f=
open
(old_name,
'rb'
)new_f=
open
(new_name,
'wb'
)while
true
: con=old_f.read(
1024)if
len(con)==0
:break
new_f.write(con)
import os
2使用os模組相關功能
os.函式名()
4.1檔案重新命名os.rename(目標檔名,新檔名)
4.2刪除檔案os.remove(目標檔名)
import os
#os.rename('text.txt','1.txt')
os.remove(
'1.txt'
)
4.3建立資料夾os.mkdir(資料夾名字)
4.4刪除資料夾os.rmdir(資料夾名字)
4.5獲取當前目錄os.getcwd(
)
4.6改變預設路徑os.chdir(目錄)
4.7獲取目錄列表os.listdir(目錄)
需求:批量修改檔名,即可新增字串,有能刪除指定字串
設定新增刪除字串得標識
獲取指定目標得所有檔案
將原有檔名新增/刪除指定字元,構造新名字
os.rename()重新命名
import os
# file_list=os.listdir()
# print(file_list)
# for i in file_list:
# new_name='py-'+i
# os.rename(i,new_name)
#刪除py字串重新命名
flag=
2file_list=os.listdir(
)print
(file_list)
for i in file_list:
if flag==1:
new_name =
'py-'
+ i elif flag==2:
num=
len(
'py-py'
) new_name=i[num:
] os.rename(i, new_name)
python中的 檔案 操作
myread open index.txt r 開啟乙個檔案 mywite open aaa.txt w 複製到另乙個檔案 mystr myread.read 1024 while len mystr 0 遍歷檔案內容 mywite.write mystr mystr myread.read 102...
python中的檔案操作
檔案操作 open 檔名 操作 encoding 編碼格式 read 內容多少 open操作必須加上檔案的路徑,而當檔案與.py檔案在相同目錄下則可以只寫上檔名 r 表示可讀 read 預設表示就是將所有的東西全部取出 w 表示寫 write 寫模式預設表示將以前的東西覆蓋掉 讀模式只能夠讀,寫模式...
Python中的檔案操作
1開啟乙個檔案 f open r c users administrator desktop 123.txt r 2關閉檔案 f.close 引數說明 第乙個r的解釋說明 因為在python和很多程式語言中 轉義符號,要想輸出 要麼多加乙個 寫成 要麼在字串前面加r,告訴python直譯器,按原始字...