在操作文件的時候,我們肯定是要使用到 os 模塊的,但是 os 模塊里面還有 path 模塊,這個模塊主要是用來獲取文件的屬性的。這篇博客來分享一下 path 模塊的函數(shù),希望對學(xué)習(xí) Python 的小伙伴有所幫助。
創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站營銷推廣,空間域名,網(wǎng)頁空間,網(wǎng)站托管、服務(wù)器托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司。
返回絕對路徑:
返回文件名:
返回list(多個路徑)中,所有path共有的最長的路徑:
返回文件路徑:
路徑存在則返回True,路徑損壞返回False:
路徑存在則返回True,路徑損壞也返回True:
把path中包含的" "和" user"轉(zhuǎn)換成用戶目錄:
根據(jù)環(huán)境變量的值替換path中包含的" {name}":
返回最近訪問時間(浮點型秒數(shù)):
返回最近文件修改時間:
返回文件 path 創(chuàng)建時間:
返回文件大小,如果文件不存在就返回錯誤:
判斷是否為絕對路徑:
判斷路徑是否為文件:
判斷路徑是否為目錄:
判斷路徑是否為鏈接:
判斷路徑是否為掛載點:
把目錄和文件名合成一個路徑:
轉(zhuǎn)換path的大小寫和斜杠:
規(guī)范path字符串形式:
返回path的真實路徑:
從start開始計算相對路徑:
判斷目錄或文件是否相同:
判斷fp1和fp2是否指向同一文件:
判斷stat tuple stat1和stat2是否指向同一個文件:
把路徑分割成 dirname 和 basename,返回一個元組:
一般用在 windows 下,返回驅(qū)動器名和路徑組成的元組:
分割路徑中的文件名與拓展名:
把路徑分割為加載點與文件:
遍歷path,進(jìn)入每個目錄都調(diào)用visit函數(shù),visit函數(shù)必須有3個參數(shù)(arg, dirname, names),dirname表示當(dāng)前目錄的目錄名,names代表當(dāng)前目錄下的所有文件名,args則為walk的第三個參數(shù):
設(shè)置是否支持unicode路徑名:
案例一:新建一個txt文件并向文件中寫入數(shù)據(jù)。
代碼與結(jié)果如上圖所示。
案例:os.rename('kitty1.txt',''kitty2.txt')
2.1 輸出結(jié)果:將kitty1文件改為kitty2
2.2 文件解析說明:文件重命名,將test1文件改為test2文件。
案例:os.remove('kitty2.txt')
3.1 輸出結(jié)果:kitty2.txt文件被刪除
3.2 解析說明:刪除文件。
案例:os.mkdir('kitty')
4.1 輸出結(jié)果:創(chuàng)建一個文件夾名字為kitty
4.2 解析說明:創(chuàng)建文件夾。
4.3 解析說明:list.pop()就直接從list中的最末尾處刪除一個元素。
案例:os.rmdir('test')
5.1 輸出結(jié)果:刪除一個文件夾
5.3 解析說明:刪除文件夾.
解析說明:可以取代操作系統(tǒng)特定的路徑分割符
案例一:print(os.getcwd())
輸出結(jié)果:D:PythonProjectPython編程基礎(chǔ)
解析說明:相當(dāng)于linux下的pwd,獲取當(dāng)前目錄。
案例一:os.chdir(os.getcwd()+os.sep+'kitty')
解析說明:進(jìn)入到某個目錄下。
解析說明:相當(dāng)于linux下的ls,顯示當(dāng)前目錄下的文件。
解析說明:創(chuàng)建一個aa文件夾,再在里面創(chuàng)建一個bb文件夾。
解析說明:刪除aa文件夾和aa文件夾中的bb文件夾。
解析說明:判斷是否是個文件。
解析說明:判斷是否是個文件夾。
解析說明:判斷文件是否存在。
解析說明:獲取文件大小。
解析說明:返回文件的絕對路徑。
解析說明:獲取文件的文件名,注意參數(shù)需要傳入絕對路徑。
解析說明:獲取文件的所在目錄,注意參數(shù)需要傳入絕對路徑。
在寫python程序時,常能用到一些函數(shù)和方法,總結(jié)一下,保存起來,方便查詢。
一、內(nèi)置函數(shù)
# abs()獲取數(shù)字絕對值
# chr(i)數(shù)字轉(zhuǎn)換為字符類型
# divmod() 獲取兩個數(shù)值的商和余數(shù)
# enumerate() 將可遍歷序列組合為索引序列
# float()轉(zhuǎn)換為浮點數(shù)
# format() 格式化字符串
# int()轉(zhuǎn)換為整數(shù)?
# input() 接受用戶輸入內(nèi)容
# len() 計算元素個數(shù)
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數(shù)值的上舍整數(shù)
# open()打開文件并返回文件對象
# pow() 冪運算
# print()打印輸出?
# range() 生成器
# reversed()反轉(zhuǎn)所有元素
# round()四舍五入求值
# sorted()對可迭代對象進(jìn)行排序?
# str() 轉(zhuǎn)換為字符串
# sum() 求和
# set() 創(chuàng)建集合
# tuple() 將序列轉(zhuǎn)換為元組
# zip()將可迭代對象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉(zhuǎn)換為大寫?
# count()字符出現(xiàn)次數(shù)
# close() 關(guān)閉文件
# decode() 解碼字符串
# dict.keys() 獲取字典所有的鍵
# find()字符串首次出現(xiàn)的索引
# f.read() 讀取文件內(nèi)容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對
# dict.get() 返回指定鍵的值
# encode() 編碼字符串
# list.sort() 排序列表元素
# index() 元素首次出現(xiàn)的索引
# isdigit() 判斷字符串是否只由數(shù)字組成
# isupper() 是否所有字母都為大寫
# isnum() 判斷字符串是否由字母和數(shù)字組成
# islower() 是否所有字母都為小寫
# isdecimal() 檢查字符串是否只包含十進(jìn)制字符
# isalpha() 檢測字符串是否為純字母
# random.shuffle()隨機(jī)排序
# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表
# random.choice() 返回一個隨機(jī)元素
# random.randint() 生成指定范圍的隨機(jī)整數(shù)
# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側(cè)空格
# rstrip() 去除右側(cè)空格
# readline() 讀取單行內(nèi)容
# root.after() Tkinter中等待一段時間后再執(zhí)行命令
# str.isnumeric() 驗證字符串是否為數(shù)字(適用于Unicode)
# split()分割字符串
# ord() 將字符轉(zhuǎn)換為整數(shù)
# replace() 字符串替換
# ljust() 左對齊填充
# rjust() 左對齊填充
# readlines() 讀取所有行內(nèi)容
# datetime.datetime.now() 返回指定時區(qū)的本地日期時間
# datetime.datetime.today() 獲取當(dāng)前本地日期的date對象
# datetime.utcnow() 返回當(dāng)前UTC時間的datetime對象
# time.strptime()把時間字符串解析為元組
# time.time()返回當(dāng)前時間的時間戳
# time.sleep()暫停指定秒數(shù)
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收時間元組并返回時間戳
# os.getcwd() 獲取當(dāng)前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創(chuàng)建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉(zhuǎn)換為大寫字母
# lower()? 全部轉(zhuǎn)換為小寫字母
# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印
# sys.stdout.flush()刷新輸出?
# shutil.copy() 復(fù)制單個文件到另一文件或目錄
# write() 寫入文件內(nèi)容
# winsound.Beep() 打開電腦揚聲器
# zfill() 在字符串前面填充0
三、循環(huán)語句
# break終止當(dāng)前循環(huán)
# continue 終止本循環(huán)進(jìn)入下一次循環(huán)
# with open() as file 以with語句打開文件(數(shù)據(jù)保存)
四、轉(zhuǎn)義字符
\ 行尾續(xù)行符
\' 單引號?
\'' 雙引號
\a 響鈴
\e 轉(zhuǎn)義
\n 換行
\t 橫向制表符
\f 換頁
\xyy 十六進(jìn)制yy代表的字符
\\反斜杠符號
\b 退格
\000 空
\v 縱向制表符
\r 回車
\0yy 八進(jìn)制yy代表的字符
\other 其他的字符以普通格式輸出
python系統(tǒng)提供了下面常用的函數(shù):
1. 數(shù)學(xué)庫模塊(math)提供了很多數(shù)學(xué)運算函數(shù);
2.復(fù)數(shù)模塊(cmath)提供了用于復(fù)數(shù)運算的函數(shù);
3.隨機(jī)數(shù)模塊(random)提供了用來生成隨機(jī)數(shù)的函數(shù);
4.時間(time)和日歷(calendar)模塊提供了能處理日期和時間的函數(shù)。
注意:在調(diào)用系統(tǒng)函數(shù)之前,先要使用import 語句導(dǎo)入 相應(yīng)的模塊
該語句將模塊中定義的函數(shù)代碼復(fù)制到自己的程 序中,然后就可以訪問模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。
希望能幫到你。
math模塊
在使用前導(dǎo)入math模塊 import math
常用方法
math.pow()方法
math.pow(x,y) 返回x的y次方
math.sqrt()方法
math.sqrt(x) 返回x的平方根
math,factorial()方法
math.factorial(x) 返回x的階乘
什么是階乘 5! 5 4 3 2 1=120
高級內(nèi)置函數(shù)即方法(常用)
1--map()函數(shù)
1--實例解釋
2--reduce()函數(shù)
2--實例解釋
3--filter()函數(shù) (俗稱過濾器)
3--實例解釋
4--zip()函數(shù)
4--實例解釋
5--sorted()函數(shù)和當(dāng)中的key
5--實例解釋
6--enumerate()函數(shù)
6--實例解釋
7--sum()函數(shù)
7--實例解釋
8--set()函數(shù)
8--實例解釋
9--join()方法
9--實例解釋
10--split()方法
10--實例解釋
11--replace()方法
11--實例解釋
12--format()方法
12--實例解釋
13--eval()函數(shù)
13--實例解釋