python中的檔案操作

2021-10-02 12:04:46 字數 4391 閱讀 3984

思考:什麼是檔案?

檔案操作的作用?

開啟,關閉,讀,寫,複製。。。。

檔案操作的作用是什麼?

讀取,寫入,備份內容。

二檔案的基本操作

開啟檔案

讀寫等操作

關閉檔案

注意:可以只開啟和關閉檔案,不進行任何讀寫操作。

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直譯器,按原始字...