建立和打開文件
建立文件可以使用
1 | file = open(filename[,mode[,buffering]]) |
打開一個不存在的文件時,應該先建立文件
1 | print("開始建立新文件") |
結果
以二進制的方式打開文件
1 | file = open("test.jpg", "rb") |
打開文件的一般形式
1 | file = open("test.txt", "rw", encoding = "utf-8") |
關閉文件
使用close()
1 | file.close() |
打開文件時,使用with語句
使用with就可以處理忘記關閉文件的問題
1 | with expression as target: |
範例
1 | with open("1.txt", "r", encoding = "utf-8") as file: |
寫入文件
使用write()方法
1 | file.write("write SomeThing") |
使用剛才的範例並追加
1 | file = open("1.txt", "w+", encoding="utf-8") |
寫入文件後,一定要關閉文件,否則寫入的內容不會保存到文件中。
讀取文件
讀取指定字符
1 | # file.read([size]) |
使用seek()語法
1 | file.seek(offset,[,whence]) |
範例
1 | with open("1.txt", "r") as file: |
讀取一行的情況
1 | file.readline() |
讀取全部
1 | file.readlines() |
目錄操作
又稱文件夾。用於分層保護文件。
先導入os模組
1 | import os |
相對路徑
1 | print(os.getcwd()) |
在指令路徑時可以在路徑前加上r(R),這樣所有字符都會按原樣輸出。
絕對路徑
1 | # os.path.abspath(path) |
拼接路徑
1 | # os.path.join(path1[,path2...]) |
判斷目錄是否存在
使用exists()函數
1 | # os.path.exists(path) |
建立目錄
建立資料夾
1 | # os.mkdir(path, mode=0o777) |
建立成功
如果存在…
1 | if not os.path.exists(path): |
可以使用makedirs建立資料夾的次級資料夾
1 | os.makedirs(name, mode) |
刪除目錄
使用rmdir()函數
1 | os.rmdir(path) |
該函數只能刪除空目錄,如果想刪除非空目錄,就需要使用……
1 | import shutil |
遍歷目錄
使用walk()函數
1 | # os.walk(top[,topdown][,onerror][,followlinks]) |
結果
刪除文件
使用remove()函數
1 | # os.remove(path) |
文件重新命名
使用os.rename()函式
1 | # os.rename("src", "dst") |
結果
獲取文件基本資訊
使用os.stat()函數
1 | import os |
同款資訊
1 | st_mode: inode 保護模式 |