************************* 路徑 *************************
-
絕對路徑:完整的路徑,從最初開始
如:E:\tools\workspace\myfile.txt
-
相對路徑
./
當前路徑(相對於當前的python文件,如:./myfile.txt
)
************************* 讀 *************************
open(file=路徑,mode=模式,encoding=編碼格式)
mode = "r" 從開頭讀,讀的是字符,需要指定文件的編碼格式
mode = "rb" 從開頭讀,讀的是字節,不需要指定文件的編碼格式
字符 = 字節+解碼
read()
從頭讀到尾,如果讀取不到,返回""
read(num)
讀幾個,如果讀取不到,返回""
readline()
讀一行,如果讀取不到,返回""
readlines()
將所有的行放到列表中,返回,如果讀取不到,返回[]
************************* 寫 *************************
open
字符的操作:
mode="w" 寫字符,從頭寫
mode="a" 寫字符串,續寫
字節的操作:
mode="wb"
mode="ab"
mode = "w" 寫字符
mode = "wb" 寫字節
在寫的時候,w,從頭開始寫
如果文件不存在,創建
如果文件存在,清空文件
write()
從頭開始寫,如果文件不存在,創建;如果文件存在,清空文件
writelines()
將列表中的數據挨個寫入
如果在讀寫文件的過程中,需要從另外一個位置進行操作的話,可以使用seek()
************************* with *************************
file_path = r"./files/myfile.txt"
with open(file=file_path, mode="r",encoding="utf-8") as my_file:
print(my_file.read())
************************* os *************************
-
os.sep
獲得當前操作系統使用的目錄分隔符,
比如 Windows 就會得到\
而 Linux/Unix 就會得到/
os.linesep
獲取操作系統的換行符號
window -> \r\n linux/unix -> \n -
os.name
獲得當前使用的操作系統,Windows 是 NT 內核,所以會得到 nt,
而 Linux/Unix 用戶則會得到 posix -
os.getcwd()
得到當前工作目錄,即當前 Python 腳本工作的目錄路徑 -
os.listdir(path)
返回指定目錄 path 下的所有文件和目錄名 -
os.remove(path)
刪除一個文件 -
os.chdir(dirname)
改變工作目錄到 dirname -
os.rename(src, dst)
重命名-可以完成剪切 -
os.mkdir(path)
創建一級目錄 -
os.makedirs(path)
遞歸的創建多級目錄 -
os.walk(path)
遞歸返回path下的目錄(包括 path 目錄)、子目錄、文件名的三元組
************************* os.path *************************
-
os.path.isfile()
和os.path.isdir()
分別檢驗給出的路徑是一個文件還是目錄。 -
os.path.exists()
用來檢驗給出的路徑是否真地存在 -
os.path.getsize(name)
獲得文件大小,如果 name 是目錄返回 0L -
os.path.abspath(name)
獲得絕對路徑 -
os.path.normpath(path)
規範path字符串形式 -
os.path.split(path)
將path分割成目錄和文件名二元組返回 -
os.path.splitext()
分離文件名與擴展名 -
os.path.join(path,name)
連接目錄與文件名或目錄;使用“\”連接 -
os.path.basename(path)
返回文件名 -
os.path.dirname(path)
返回文件路徑
************************* shutil *************************
-
shutil.copyfile( src, dst)
從源 src 複製到 dst 中去。當然前提是目標地址是具備可寫權限。
拋出的異常信息爲 IOException. 如果當前的 dst 已存在的話就會被覆蓋掉 -
shutil.move( src, dst)
移動文件或重命名 -
shutil.copymode( src, dst)
只是會複製其權限其他的東西是不會被複制的 -
shutil.copystat( src, dst)
複製權限.最後訪問時間.最後修改時間 -
shutil.copy( src, dst)
複製一個文件到一個文件或一個目錄 -
shutil.copy2( src, dst)
在 copy 上的基礎上再複製文件最後訪問時間與修改時間也複製過來了 -
shutil.copy2( src, dst)
如果兩個位置的文件系統是一樣的話相當於是 rename 操作,只是改名;
如果是不在相同的文件系統的話就是做 move 操作 -
shutil.copytree( olddir, newdir, True/Flase)
把 olddir 拷貝一份 newdir ,
如果第3個參數是 True,則複製目錄時將保持文件夾下的符號連接,
如果第3個參數是 False,則將在複製的目錄下生成物理副本來替代符號連接 -
shutil.rmtree( src )
遞歸刪除一個目錄以及目錄內的所有內容