檔案處理 絕對路徑 與相對路徑 檔案的開啟模式

2021-08-21 01:31:40 字數 3181 閱讀 1518

1.什麼是檔案

檔案是作業系統為使用者或應用程式提供的乙個訪問/讀寫硬碟的虛擬單位

檔案的操作核心是讀、寫

即我們只需要對檔案進行讀寫操作,就是對作業系統發起請求,然後由作業系統將使用者或者應用程式對檔案的讀寫操作轉換成具體的

硬碟指令(比如控制碟片,控制機械手臂來讀寫資料)

2.為什麼要用檔案?

轉為記憶體無法永久儲存資料,但凡我們永久儲存資料,就需要儲存到硬碟中,而操作檔案就是可以實現對硬碟的操作

me='egon'

d='123'

把記憶體中的資料儲存到硬碟中去

把硬碟中的資料讀到記憶體中

f = open(r'e:')  # 向作業系統發起請求,要求作業系統開啟檔案,占用作業系統的資源

data = f.read() # 向作業系統開啟發起讀請求,會被作業系統轉成具體的硬碟操作,將內容由硬碟讀入記憶體

print(data)

del f

f.close() # 向作業系統發起請求,要求作業系統開啟檔案,占用作業系統的資源,但還存在於應用程式中,無法進行read

print(f)

f.read()

f = open(r'd:\pycharmprojects\untitled2\day08\a.txt', mode='r')

data = f.read()

1.絕對路徑,從碟符(c:\\ e:\\ d:\\)開始寫乙個完整的路徑

2.相對路徑 :相對於當前執行檔案所在的資料夾開始找

f=open(r'a.txt')

控制檔案讀寫內容的結果有兩種:t模式text,b模式bytes

注意:1.t與b這兩種模式均不能單獨使用,都需要與r/wa之一連用

2.預設的內容格式是t

3.只有文字檔案才能用t模式,也只有文字檔案都有字元編碼的概念

操作檔案的基礎模式有有一種:

# 1.r 預設的 (唯讀模式【預設模式,檔案必須存在,不存在則丟擲異常】)

# 2.w (只寫模式【不可讀;不存在則建立;存在則清空內容】)

# 3.a (追加寫模式【不可讀;不存在則建立;存在則只追加內容】)

r:read 唯讀模式

# 1.唯讀,不寫

# 2.在檔案不存在時,會報錯

# f = open(r'a.txt')

# # f.write(ddfdfsdff)  # 無法寫入

# data = f.read()

# # print(data)

# # print(type(data))

w:只寫模式

# 1.只能寫,不能讀

# 2.在檔案不存在時會自動建立檔案,在檔案存在的時候會將檔案內容清空

# # f=open()

## # f = open(r'a.txt', mode='wt', encoding='utf-8')

# # # f.write('aaaaaa\nbbbb\nccccc\n')

# # #

# # f.close()   #**系統資源

# a:開啟以進行寫入,如果存在則附加到檔案的末尾

# 1.只追加寫模式

# 1.只能寫,不通讀

# 2.在檔案不存在時會建立空檔案,在檔案存在的時候將指標移動到檔案末尾

## f = open(r'c.txt', mode='at', encoding='utf-8')

# f.write('1111111\n222222\n')

# f.writelines('33333\n4444\n')

## f.close()

二進位制模式

# 注意:

# 1.一定不能指定字元編碼,只有t模式才與字元編碼有關

# 2.b是二進位制模式,是一種通用的檔案讀取模式,因為所有的檔案在硬碟中都是以二進位制形式存在

# 3.將rb和wb模式結合可以實現:讀寫檔案進行複製乙份新的檔案在另乙個路徑下,或者可以直接替換到同命名的檔案再複製

# 注:複製的檔案過大將無法進行操作,這是因為python的保護機制

迴圈讀

# # f.write('你好啊'.encode('utf-8'))

# f.write(',去你妹的'.encode('utf-8'))

# f.close()

上下文管理

# # with open('a.txt', 'rb') as f, open('d.txt', 'wt',encoding='utf-8')as f1:  # with將完成f.close()工作,\

# #     # 無需再敲;open複製給f

# #     # 檔案的操作

# #     src_data = f.read()

# #     # print(type(src_data))

# #     res = src_data.decode('utf-8')

# #     f1.write(res)

with open('a.txt', 'rb') as f, open('d.txt', 'wb')as f1:

# src_data = f.read()

# # print(type(src_data))

# res = src_data.decode('utf-8')

f1.write(f.read())

絕對路徑 相對路徑 檔案讀寫路徑

一 絕對路徑 能完整描述檔案在磁碟上的位置 1 完整的磁碟路徑 f test a.txt 存在於f盤test資料夾下的a.txt檔案 2 完整的url路徑 也是乙個絕對路徑,網域名稱會指向磁碟的乙個目錄 原博二 相對路徑 首先要確定乙個路徑參考點,其他檔案都是相對於當前檔案位置來確定的。在檔案路徑拓...

相對路徑與絕對路徑

相對路徑 以引用檔案之網頁所在位置為參考基礎,而建立出的目錄路徑。因此,當儲存於不同目錄的網頁引用同乙個檔案時,所使用的路徑將不相同,故稱之為相對。絕對路徑 以web站點根目錄為參考基礎的目錄路徑。之所以稱為絕對,意指當所有網頁引用同乙個檔案時,所使用的路徑都是一樣的。其實絕對路徑與相對路徑的不同處...

相對路徑與絕對路徑

相對路徑與絕對路徑 絕對路徑 舉例.c盤中windows目錄中system32中的ias資料夾,即c windows system32 ias 相對路徑 舉例。c盤中windows目錄中system32中的ias資料夾和c盤中windows目錄中system32中的0409資料夾,ias相對於040...