1、os.path.splitext()是用來分離文件名與擴展名;
2、os.path.basename()他返回的是一個base name,我認為就是路徑最后一個文件名。
import os fname = "D:\\Python\\fig\\data.txt" files = "D:/file/cat/dog.jpg" basename = os.path.basename(fname) splittesxt = os.path.splitext(fname) cfg = os.path.splitext(os.path.basename(fname))[0] basename1 = os.path.basename(files) splittesxt1 = os.path.splitext(files) cfg1 = os.path.splitext(os.path.basename(files))[0] print("basename:",basename) print("splittext:",splittesxt) print("cfg:",cfg) print("basename1:",basename1) print("splittext1:",splittesxt1) print("cfg1:",cfg1)
output:
basename: D:\Python\fig\data.txt splittext: ('D:\\Python\\fig\\data', '.txt') cfg: D:\Python\fig\data basename1: dog.jpg splittext1: ('D:/file/cat/dog', '.jpg') cfg1: dog
從上面代碼看出,貌似只有路徑名寫成:
files = "D:/file/cat/dog.jpg"
os.path.basename()才會和我們想象的結果一樣。也可能是我的python版本是:Python 3.6.9的原因。