python3-讀寫檔案
*os.path模組*
Windows上的倒斜槓以及os x 和Linux 上的正斜槓
在Windows上執行os.path.join()函式
返回’user\bin\spam’ 請注意,倒斜槓有兩個,因為每個倒斜槓需要由另一個倒斜槓字元來轉義)。如果在OS X 或Linux 上呼叫這個函式,該字串就會是’user/bin/spam’。
建立檔名稱的字串,os.path.join()函式就會很有用
當前工作目錄
os.getcwd()函式可以取得當前工作路勁的字串
os.chdir()改變它
如果要更改當前工作目錄不存在,python就會報錯。
注意: 當前工作目錄(或當前目錄)是標準術語,沒有當前工作資料夾這種說法。
絕對路徑與相對路徑
‘絕對路徑’,總是從根資料夾開始
‘相對路勁’,它相對於程式的當前工作目錄。
用os.makedirs()建立新資料夾
osmakedirs()將建立所有必要的中間資料夾,目的確保完整路徑名存在
*處理絕對路勁*
os.path.abspath()
將返回引數的絕對路徑的字串。這將相對路徑轉換為絕對路徑的更簡單方法。
os.path.isabs(),如果引數是一個絕對路徑,就返回True,如果引數是一個相對路徑,就返回False。
//資料夾和檔案可能與我的不同,嘗試用你計算機上存在的資料夾來完成
os.path.relpath()
os.path.dirname() 將返回一個字串,它包含path引數中最後一個斜槓之前的所有內容。
os.path.basename() 將返回一個字串,它包含path引數中最後一個斜槓之後的所有內容。
os.path.split() 獲取得這倆個字串的元組
可以呼叫os.path.dirname()和os.path.basename(),將它們的返回值放在一個元組中從而得到同樣的元組。
os.path.split()不會接受一個檔案路徑並返回每個資料夾的字串的列表。
使用split()字串方法,並根據os.path.sep
檢視檔案大小和資料夾內容
os.path.getsize() 將返回patn引數中檔案的位元組數。
os.path.listdir() 將返回檔名字串的列表。
如果想知道這個目錄下所有檔案的總位元組數,就可以同時使用os.path.getsize()
和os.listdir()。
//注意使用了 os.path.join()來連線資料夾名稱和當前的檔名。
檢查路徑有效性
如果path引數所知的檔案或資料夾存在,os.path.exists() 將返回True,否則返回False。
如果path引數存在,並且是一個檔案,os.path.isfile() 將返回True,否則返回False。
如果path引數存在,並且是一個資料夾,os.path.isdir() 將返回True,否則返回False。
檔案讀寫過程
python3中,讀寫檔案有3個步驟:
- 呼叫open()函式,返回一個File物件。
- 呼叫File物件的read()或write()方法。
- 呼叫File物件的close()方法,關閉該檔案。
用open()函式開啟檔案
先建立一個hello.txt檔案,讀模式是預設的模式,如果不希望依賴於python的預設方式,可以明確指出該模式,向open()傳入字元’r’,作為第二個引數。