Python 讀寫檔案

2021-10-07 08:39:50 字數 4218 閱讀 3957

1、不同作業系統,檔案路徑分隔符不同,windows:\,os x/linux:/,但os.path.sep變數將根據作業系統設定為正確的資料夾分割斜槓

2、絕對路徑:從根資料夾開始;相對路徑:對於程式的當前工作目錄

(.)表示當前目錄的縮寫,(…)父資料夾

3、os.path模組方法方法

說明os.path.join()

連線兩個或更多的路徑名元件

os.path.abspath(path)

返回引數的絕對路徑的字串(將相對路徑轉換為絕對路徑的簡便方法)

os.path.isabs(path)

如果引數是乙個絕對路徑,返回true,相對路徑則返回false

os.path.relpath(path, start)

返回從start路徑到path的相對路徑的字串,如果沒有start,就使用當前工作目錄為開始路徑

os.path.dirname(path)

返回乙個字串,包含path引數中最後乙個斜槓之前的所有內容

os.path.basename(path)

返回乙個字串,包含path引數中最後乙個斜槓之後的所有內容

os.path.split(path)

獲得兩個字串(路徑的目錄名稱和基本名稱)元組,等價於(os.path.dirname(path), os.path.basename(path))。如果需要返回每個資料夾的字串列表,可以使用字串方法split(),filepath.split(os.path.sep)

os.path.getsize(path)

返回path引數中檔案/資料夾的總位元組數

檢查路徑有效性的方法

os.path.exists(path)

path引數所指的檔案或資料夾存在,則返回true,否則返回false

os.path.isfile(path)

ath引數所指的檔案或資料夾存在,且是乙個檔案,則返回true,否則返回false

os.path.isdir(path)

ath引數所指的檔案或資料夾存在,且是乙個資料夾則返回true,否則返回false

注:os.path.join()

import os

os.path.join(

'usr'

,'bin'

,'spam'

)>

'usr\\bin\\spam'

#windows

>

'usr/bin/spam'

#os x/linux

os.path.abspath(

'.')

>

'c:\\python38'

os.path.abspath(

'.\\scripts'

)#windows目錄名稱不區分大小寫

>

'c:\\python38\\scripts'

os.path.isabs(

'.')

>

false

os.path.isabs(os.path.abspath(

'.')

)>

true

os.path.relpath(

'c:\\windows'

,'c:\\spam\\eggs'

)>

'..\\..\\windows'

5、os模組方法

每個執行的電腦程式都有乙個「當前工作目錄」或cwd。所有沒有從跟檔案開始的檔名或路徑,都假定在當前工作目錄下。

方法

說明os.getcwd()

獲取當前工作路徑的字串

os.chdir()

改變當前工作路徑的字串

os.makedirs()

建立新資料夾

os.listdir(path)

返回路徑內各個檔名的字串列表

import os

os.getcwd(

)>

'c:\\python38'

os.chdir(

'c:\\windows\\system32'

)#如果更改的當前目錄不存在,會顯示錯誤

>os.getcwd(

)>

'c:\\windows\\system32'

os.makedirs(

'c:\\delicious\\wallet\\awasa'

)#將建立所有不存在的中間資料夾

os.listdir(r'e:\2books'

)>

['jdreaderebooks'

,'python程式設計:從入門到實踐.epub'

]

純文字檔案只包含基本文字字元,不包含字型、大小和顏色資訊,例如.txt拓展名的文字檔案,記憶.py拓展名的python指令碼。但pdf、影象、電子**和可執行性程式等屬於「二進位制檔案」,每種不同型別的二進位制檔案,都必須用相應的方式處理。

1、呼叫open(file_path [,『w』 /『r』/ 『a』/ 『r+』/『rb』/』wb』])函式,返回乙個file物件

hellofile =

open

('c:\\users\\pi_digits.tx'

)quizfile =

open

('capitalsuiz%s.txt'

%(quiznum +1)

,'w'

)#執行時,佔位符%s都將被(quiznum + 1)取代

#關鍵字with在不再需要訪問檔案後將其關閉,如果呼叫close()容易導致錯誤或者檔案未及時關閉

#同時open()返回的檔案物件只在with**塊內可用,要在**塊外訪問檔案內容,可將檔案的各行儲存在乙個列表中

with

open

('pi_digits.txt'

)as file_object:

2、呼叫file物件的read()或write()方法

print

(hellofile.read())

>

'hello world!'

3、呼叫file物件的close()方法,關閉該檔案

1、shelve模組

import shelve

shelffile = shelve.

open

('mydata'

)cats =

['zophie'

,'pooka'

,'simon'

]shelffile[

'carts'

]= cats

print

(list

(shelffile.keys())

)>

['cats'

]print

(list

(shelffile.values())

)>[[

'zophie'

,'pooka'

,'simon']]

shelffile.close(

)

2、pprint.pformat()函式

import pprint

cats =[,

]print

(pprint.pformat(cats)

)>[,

]fileobj =

open

('mycats.py'

,'w'

)fileobj.write(

'cats = '

+ pprint.pformat(cats)

+'\n'

)fileobj.close(

)

Python檔案讀寫

今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...

python檔案讀寫

檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...

python 讀寫檔案

python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...