材料參考《Python編程快速上手-讓繁瑣工作自動化》
1、導入os模塊:import os
2、常用方法及示例
函數或方法 |
說明 | 示例 |
os.getcwd() |
取得當前工作路徑 | |
os.chdir('‘) |
變更當前工作路徑 | os.chdir('D:\Program Files\python3\pyworks') |
os.makedirs('') | 創建新文件夾 | os.makedir('C:\\delicious\\walnut\\waffles') |
os.path.join('a','b',...) | 拼接返回路徑字符串 | os.path.join('usr','bin','spam') Windows中返回:'usr\\bin\\spam' OS X或Linux中返回:'/usr/bin/spam' |
os.path.abspath(path) | 返回path的絕對路徑 | os.path.abspath('.') |
os.path.isabs(path) | 判斷是否為絕對路徑 | 是則返回True,否則返回False |
os.path.relpath(path,start) | 返回從start到path的相對路徑 | |
os.path.dirname(path) | 返回path中最后一個\前的內容 | 從path中獲取目錄名稱 |
os.path.basename(path) | 返回path中最后一個\后的內容 | 從path中獲取文件名稱 |
os.path.split(path) | 同時獲取目錄名稱和基本名稱 | |
os.path.getsize(path) | 查看文件大小字節數 | |
os.listdir(path) | 返回path目錄下文件名列表 | |
os.path.exists(path) | 檢查文件/文件夾是否存在 | 返回True或False |
os.path.isfile(path) | 檢查path存在且是文件 | 返回True或False |
os.path.isdir(path) | 檢查path存在且是文件夾 | 返回Ture或False |
3、循環獲取目錄下的每個文件名
1 import os 2 for filename in os.listdir('C:\\Windows\\System32'): 3 print(filename)
4、判斷文件若已存在則刪除
import os if os.path.exists('tdFile.txt'): os.remove('tdFile.txt')
5、計算目錄下文件總大小
1 import os 2 totalSize = 0 3 for filename in os.listdir('C:\\Windows\\System32'): 4 totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32',filename)) 5 print(totalSize)
6、文件讀寫3個步驟
- 調用open()函數返回File對象
- 調用File對象的read()或write()方法
- 調用File對象的close()方法關閉文件
函數/方法 | 說明 | 舉例 |
open() | 函數,打開文件返回File對象 參數1為文件,可帶路徑 參數2為打開模式;w表示覆蓋寫入,a表示文本添加 若文件不存在,寫/添加模式會創建新的空文件 |
HelloFile = open('C:\\users\\folder\\hello.txt',w) |
read() | File對象read()方法,讀取整個文件為一個大字符串 | HelloContent = HelloFile.read() |
readlines() | File對象readlines()方法,將文本中每一行形成一個字符串列表; 每個字符串以"\n"結束(最后一行除外); |
HelloFile.readlines() |
write() | File對象write()方法,將字符串寫入文件,會返回寫入的字符個數 首先需要文件以寫/添加模式打開 另write()不會像print()函數在字符串末尾自動添加換行字符 |
HelloFile.write('Hello world!\n') |
close() | File對象close()方法 |
HelloFile.close() |
7、用shelve模塊保存變量
- 將程序中的變量保存到二進制的shelf文件中
函數/方法 | 說明 | 舉例 |
import shelve | 導入shelve模塊 | |
shelve.open() | 函數,打開二進制文件 不需要指定打開模式,既能讀又能寫 |
shelfFile = shelve.open('mydata') |
保存變量,類似字典,將值賦給指定的鍵 | cats = ['Zophie','Pooka','Simon'] shelfFile['cats'] = cats |
|
讀取變量,類似字典,傳入鍵名獲取對應值 | shelfFile['cats'] | |
close() | 關閉文件方法 | shelfFile.close() |
keys()/values() | 方法,類似字典 | shelfFile.keys() |