本文記錄了文件操作的一些常規用法,以及對對應用法所表達含義的淺顯認知,當前尚不涉及二進制的操作。后期一旦發現有錯誤或者習得新內容,會及時更新。
import os
'''
文件讀寫相關操作
'''
# 絕對路徑與相對路徑
f1 = open('C:/Users/24193/PycharmProjects/untitled/a', 'r') # 絕對路徑模式打開,r表示只讀模式
f2 = open('./a', 'r') # 相對路徑模式打開
# 讀寫模式: r w a r+ w+ a+ b+ (本例當前不涉及二進制的讀寫,以后補充更新)
filePath = 'C:/Users/24193/Desktop/x.txt' # 我的文件路徑
rFile = open(filePath, 'r') # 只讀,若文件不存在會報錯
print(rFile.read()) # 若加參數表示一次讀取的字節數,不加則默認全讀
wFile = open(filePath, 'w') # 只覆蓋寫,若存在則覆蓋(先清空原文件再覆蓋),若不存在則創建
wFile.write('新內容會覆蓋原內容')
aFile = open(filePath, 'a') # 只追加寫,若存在,光標放在尾部開始追加,若不存在則創建
aFile.write('從文件最后開始寫')
RFile = open(filePath, 'r+') # 可讀可寫,光標在頭部.從第一個數據開始覆蓋,該方式很不友好
RFile.write('從首字符開始覆蓋著寫')
print(RFile.read()) # 寫完之后,此時光標位于寫完的字符后面,從該光標處往后讀
WFile = open(filePath, 'w+') # 可讀可寫,若存在就覆蓋,不存在則新建
WFile.write('整個文件覆蓋著寫') # 寫完后此時光標位于文件末尾
print(WFile.read()) # 上面寫完之后,因光標位于整個文件的末尾處,后面讀不到內容
AFile = open(filePath, 'a+') # 可讀可寫,若存在,光標置于末尾,不存在則新建
AFile.write('向后追加') # 寫完后此時光標位于文件末尾
print(AFile.read()) # 上面寫完之后,因光標位于整個文件的末尾處,后面讀不到內容
'''
read() / readline() / readlines() 三個函數不要同時使用
'''
print(rFile.read()) # 返回所有數據
print(rFile.readline()) # 返回一行數據
print(rFile.readlines()) # 返回所有行數據并保存在列表中,每行內容為一個元素
'''
文件 / 文件夾相關操作
'''
dirPath = 'C:/Users/24193/Desktop/'
os.remove(dirPath + 'delFile.txt') # 刪除文件,假設delFile.txt存在
os.mkdir(dirPath + 'makeDir') # 創建文件夾
os.rmdir(dirPath + 'makeDir') # 刪除文件夾
os.rename(dirPath + 'oldName.txt', dirPath + 'newName.txt') # 更換文件名,該文件名包含路徑,假設oldName.txt存在
print(os.getcwdb()) # 獲取當前文件夾路徑. 注意:獲取到的路徑為: b'C:\\Users\\24193\\PycharmProjects\\untitled'(我電腦中的路徑)
os.chdir(dirPath) # 將當前文件夾路徑切換到dirPath,該文件夾必須是已有的,否則報錯
print(os.listdir(dirPath)) # 獲取文件夾中的所有文件名,返回值是列表,若無參數默認為當前文件夾
'''
創建文件夾時的注意事項:
1、反斜杠問題. 記得替換成斜杠 '/'
2、文件夾路徑與文件名之間的'/'不要忘了
'''
open((os.getcwd().replace('\\', '/') + '/' + 'newFile.txt'), 'w') # 在當前路徑下新建文件
后續會更新帶二進制的操作...
共勉.