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 只...