'''
python中有內(nèi)置的模塊,使用時可以直接調(diào)用
調(diào)用方法:
1五垮、import 模塊名? ? 對模塊進(jìn)行導(dǎo)入
2扎附、模塊名.函數(shù)名? ? 調(diào)用函數(shù)
'''
import os
import shutil
#重命名文件與文件夾? rename(路徑+舊文件(文件夾)名,路徑+新文件(文件夾)名)
#os.rename(r'C:\Users\Administrator\Desktop\laowang.txt',r'C:\Users\Administrator\Desktop\老王.txt')
#os.rename(r'C:\Users\Administrator\Desktop\laowang',r'C:\Users\Administrator\Desktop\老王')
#刪除文件? remove(路徑+文件名)? 不能刪除文件夾
#os.remove(r'C:\Users\Administrator\Desktop\老王.txt')
#os.remove(r'C:\Users\Administrator\Desktop\老王')? #報錯,拒絕訪問
#創(chuàng)建文件夾? mkdir(路徑+文件夾名字)? 當(dāng)文件夾已存在時無法創(chuàng)建
#os.mkdir(r'C:\Users\Administrator\Desktop\老王1')
#os.mkdir(r'C:\Users\Administrator\Desktop\老王12\qwe')? #無法創(chuàng)建多級路徑
#創(chuàng)建多級路徑? makedirs()? 當(dāng)文件夾已存在時無法創(chuàng)建
#os.makedirs(r'C:\Users\Administrator\Desktop\老王12\qwe\fdg\dfg\ert\ert')
#改變默認(rèn)目錄 chdir()? cd /返回根目錄? cd ../返回上一級目錄
#os.chdir(r'C:\Users\Administrator\Desktop\老王12')
#獲取目錄列表撩炊,并返回一個列表? listdir(路徑)
#ls = os.listdir(r'C:\Users\Administrator\Desktop')
#print(ls)
#刪除空文件夾外永,沒有該文件夾會報錯? rmdir(路徑+文件夾名)
#os.rmdir(r'C:\Users\Administrator\Desktop\老王')
#刪除文件夾+子文件(文件夾),沒有該文件夾會報錯? rmtree(路徑+文件夾名)
#shutil.rmtree(r'C:\Users\Administrator\Desktop\老王12')
#獲取當(dāng)前目錄拧咳,返回一個字符串? getcwd()
#s = os.getcwd()
#print(s)
#print(type(s))
異常處理:
'''
try:
可能出現(xiàn)異常的代碼
except:
對異常信息作出解釋
并可以記錄異常信息
except后不寫任何類伯顶,表示捕捉所有異常。如果有異常骆膝,會中斷執(zhí)行try內(nèi)部的程序祭衩,
轉(zhuǎn)而執(zhí)行except,在程序執(zhí)行完except之后阅签,會繼續(xù)執(zhí)行后面的程序
當(dāng)異常出現(xiàn)的時候掐暮,python的解析器會對這種異常進(jìn)行分析,并將其實例化得到一個異常對象
然后再與except里面的異常類進(jìn)行匹配政钟,如果匹配成功路克,將異常賦值給對象,賦值的時候可以使用as
try? except雖然能夠捕獲異常养交,但是會影響代碼的運行效率
所以要將其放在可能會出錯的地方
'''
'''
path = input('請輸入文件的路徑:')
content = None
try:
content = open(path,'r',encoding = 'utf-8')
content = content.read()
except FileNotFoundError as aaa:
print('輸入的路徑錯誤')
print(aaa)
print(content)
'''
path = input('輸入文件的路徑:')
print('1......')
content = None
try:
print('2......')
content = open(path,'r',encoding='utf-8').read()
a = 10/0
print('3......')
except (FileNotFoundError,NameError,ZeroDivisionError) as ex:
print('4......')
print('輸入的路徑不存在')
print(ex)
print('5......')
print(content)
'''
異常處理內(nèi)部的變量沒有作用域
在python中只有函數(shù)與類當(dāng)中有作用域的概念
其他的都沒有作用域
try? except當(dāng)中
例如except Error as sd:
只有上句sd是只作用于異常處理內(nèi)部的局部變量
'''
if True:
a = 10
print(a)
try:
b = 20
b/=0
except Exception as ex:
print(ex)
print(b)
print(b)
print(ex)
一個簡單的小應(yīng)用:批量修改文件名
import os
import os.path
path = input('請輸入完整的路徑:')
os.chdir(path)? #切換工作目錄到當(dāng)前輸入路徑
ls = listdir(path)? #列出目錄下所有文件與文件夾名
for i in ls:
if os.path.isfile(i):? #判斷是否是文件
num = i.rfind('.')
if num!=-1:
newName = i[:num]+'-new'+i[num:]? #重命名
os.rename(i,newName)