'''
python中有內(nèi)置的模塊,使用時(shí)可以直接調(diào)用
調(diào)用方法:
1、import 模塊名? ? 對(duì)模塊進(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\老王')? #報(bào)錯(cuò),拒絕訪(fǎng)問(wèn)
#創(chuàng)建文件夾? mkdir(路徑+文件夾名字)? 當(dāng)文件夾已存在時(shí)無(wú)法創(chuàng)建
#os.mkdir(r'C:\Users\Administrator\Desktop\老王1')
#os.mkdir(r'C:\Users\Administrator\Desktop\老王12\qwe')? #無(wú)法創(chuàng)建多級(jí)路徑
#創(chuàng)建多級(jí)路徑? makedirs()? 當(dāng)文件夾已存在時(shí)無(wú)法創(chuàng)建
#os.makedirs(r'C:\Users\Administrator\Desktop\老王12\qwe\fdg\dfg\ert\ert')
#改變默認(rèn)目錄 chdir()? cd /返回根目錄? cd ../返回上一級(jí)目錄
#os.chdir(r'C:\Users\Administrator\Desktop\老王12')
#獲取目錄列表,并返回一個(gè)列表? listdir(路徑)
#ls = os.listdir(r'C:\Users\Administrator\Desktop')
#print(ls)
#刪除空文件夾,沒(méi)有該文件夾會(huì)報(bào)錯(cuò)? rmdir(路徑+文件夾名)
#os.rmdir(r'C:\Users\Administrator\Desktop\老王')
#刪除文件夾+子文件(文件夾),沒(méi)有該文件夾會(huì)報(bào)錯(cuò)? rmtree(路徑+文件夾名)
#shutil.rmtree(r'C:\Users\Administrator\Desktop\老王12')
#獲取當(dāng)前目錄,返回一個(gè)字符串? getcwd()
#s = os.getcwd()
#print(s)
#print(type(s))
異常處理:
'''
try:
可能出現(xiàn)異常的代碼
except:
對(duì)異常信息作出解釋
并可以記錄異常信息
except后不寫(xiě)任何類(lèi),表示捕捉所有異常。如果有異常,會(huì)中斷執(zhí)行try內(nèi)部的程序,
轉(zhuǎn)而執(zhí)行except,在程序執(zhí)行完except之后,會(huì)繼續(xù)執(zhí)行后面的程序
當(dāng)異常出現(xiàn)的時(shí)候,python的解析器會(huì)對(duì)這種異常進(jìn)行分析,并將其實(shí)例化得到一個(gè)異常對(duì)象
然后再與except里面的異常類(lèi)進(jìn)行匹配,如果匹配成功,將異常賦值給對(duì)象,賦值的時(shí)候可以使用as
try? except雖然能夠捕獲異常,但是會(huì)影響代碼的運(yùn)行效率
所以要將其放在可能會(huì)出錯(cuò)的地方
'''
'''
path = input('請(qǐng)輸入文件的路徑:')
content = None
try:
content = open(path,'r',encoding = 'utf-8')
content = content.read()
except FileNotFoundError as aaa:
print('輸入的路徑錯(cuò)誤')
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)部的變量沒(méi)有作用域
在python中只有函數(shù)與類(lèi)當(dāng)中有作用域的概念
其他的都沒(méi)有作用域
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)
一個(gè)簡(jiǎn)單的小應(yīng)用:批量修改文件名
import os
import os.path
path = input('請(qǐng)輸入完整的路徑:')
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)