今天学习了os模块中的一些操作,常用模块有: os模块 os.path模块 shutil模块
os.remove(file) --------- 删除一个文件
rename(name1,name2) --------- 文件重命名
os.mkdir(name) --------- 创建文件夹
os.makedirs(‘m/n’) --------- 创建文件夹
os.getcwd() --------- 获取当前目录
os.chdir("../") --------- 改变默认目录
os.listdir("./") --------- 获取目录列表
os.rmdir(name) --------- 删除空文件夹
shutil.rmtree( src ) --------- 递归删除一个目录以及目录内的所有内容
批量重命名代码练习:
import os
import os.path
#输入完整路径
path = input('输入路径:')
#列出所有内容
ls = os.listdir(path)
#切换工作目录
os.chdir(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)
然后是 异常 相关知识
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)
python中只有函数里和类里有作用域
其它都没有,这里的ex是局部变量,其它都是全局变量
开发的时候建议,捕捉异常要写的更详细。
但是一般直接用Exception。简单省事。
如果需要写很多异常类的描述,按照从小到大的顺序。
因为有一个捕捉到了异常。不会再被捕捉了。
try:
num = 10/0
except Exception as ex:
print(ex)
try except 之间写可能出现异常的代码
except else 之间对异常的处理
else里没错的时候的处理
path = input('输入文件的路径:')
try:
content = open(path,'r',encoding='utf-8').read()
except Exception as errorMsg:
print('产生错误了:%s'%errorMsg)
else:
print(content)
print('over...')
finally:无论是否有异常,finally里代码都会执行
有一些资源使用完毕之后,需要关闭释放资源。
无论是否有异常,都得关闭,那么这样的代码可以写到finally中
try:
pass
except Exception as ex:
pass
else:
pass
finally:
pass
嵌套:
import time
try:
#f = open('test.txt')
f = open(r'C:\Users\Administrator\Desktop\xx.txt')
try:
while True:
content = f.readline()
if len(content) == 0:
break
num=1/0 #模拟一个异常
#time.sleep(2)
print(content)
#except:
#print('except...')
finally:
f.close()
print('关闭文件')
except:
print('没有这个文件')
函数的嵌套:
def test1():
print("----test1-1----")
try:
print(num)
except:
print('test1 except......')
print("----test1-2----")
def test2():
print("----test2-1----")
test1()
print("----test2-2----")
def test3():
try:
print("----test3-1----")
test1()
print("----test3-2----")
except Exception as result:
print("捕获到了异常,信息是:%s"%result)
print("----test3-2----")
test3()
#print("------华丽的分割线-----")
#test2()