10:OS模块(路径处理)、异常处理

以下内容仅做自己学习使用,知识点内容来自柠檬班,转载请标记来源

@Author:木又
@File:demo1_os模块.py
@Time:2020/7/24 21:56
@Name:Ta Quan Ge

os模块
路径处理:
os.path.dirname:获取文件/文件夹 所在的目录

os.path.join:路径拼接的方法

os.path.abspath:获取绝对路径

魔法变量:__file__ 在那个文件里面,打印的就是那个文件的文件名

‘’’

 os.path.dirname:获取文件/文件夹 所在的目录

 import os
  file_path1 = r"D:\project\learn_31python\py_10day\demo1_os模块.py"
# file_path2 = r"D:\project\learn_31python\py_10day"
# res = os.path.dirname(file_path1)
# res1 = os.path.dirname(file_path2)
# print(res)
# print(res1)

os.path.join:路径拼接的方法

import os

path = r"D:\project\learn_31python\py_10day"
file_name = "demo1_os模块.py"
res = os.path.join(path, file_name)
# print(res)


# 获取绝对路径
# res = os.path.abspath(".")    # 获取当前文件所在的路径
# print(res)

 res = os.path.abspath("..")    # 获取当前文件父级目录所在的路径
# print(res)

print("__file__:", __file__)  # 获取当前文件的绝对路径
res = os.path.abspath(__file__)  # 获取当前文件的绝对路径
print(res)

@Author:木又
@File:demo2_os模块扩展.py
@Time:2020/7/24 21:56
@Name:Ta Quan Ge

os模块扩展:

os.getcwd:获取当前的工作路径(相当于linux pwd命令)

os.chdir():切换工作路径(相当于linux cd命令)

os.listdir():获取当前工作路径下的文件(相当于linux中的ls)

‘’’
import os

# os.getcwd:获取当前的工作路径(相当于linux pwd命令)
res = os.getcwd()
print(res)
# os.chdir():切换工作路径(相当于linux cd命令)
os.chdir('D:\zq专用')

res2 = os.getcwd()
print(res2)
# os.listdir():获取当前工作路径下的文件(相当于linux中的ls)
res3 = os.listdir()
print(res3)
# os.mkdir():创建一个文件夹
# os.mkdir("zq1")    # 此处创建的文件夹是存在方D:\zq专用路径下的,因为路径被上面切换了
print(res3)
# os.rmdir():删除一个文件
os.rmdir("zq")
print(res3)
# 判断是否是文件,是则返回True,否则返回False
res4 = os.path.isfile("D:\project\learn_31python\py_09day\work_09day.py")
print(res4)


# 判断是否是文件夹,是则返回True,否则返回False
res5 = os.path.isdir("D:\project\learn_31python\py_09day")
print(res5)

@Author:木又
@File:demo3_异常处理.py
@Time:2020/7/24 21:56

异常处理:(异常捕获,可以提高代码的容错性)
try:
有可能出现错误的代码,放在try下面

try里面的内容:
1.涉及到用户输入
2.涉及到文件操作
3.涉及到网络请求

except:
当try里面的代码出错了,就会执行except里面的代码(可在此处做异常处理)

else:
try里面的代码没有出现异常就会执行else

finally:
不管try里面的代码是否出现异常,始终都会执行

‘’’
案例一:

try:
    # 有可能会出现错误的代码
    num = int(input("请输入一个数值:"))
except:
    # 当try里面的代码出错了,就会执行except里面的代码(可以在此处做异常处理)
    print("请输入整数类型,请重新输入!")

else:

    print("-----success-----")

案例二:捕获指定异常类型,不同的异常类型做不同的处理

try:
    # 有可能会出现错误的代码
    num = int(input("请输入一个数值:"))  # ValueError
    with open('demo1_os模块.py', 'r', encoding='utf8') as f:  # FileNotFoundError
        f.read()
except ValueError as e:    # 定义变量接收错误信息
    # 当try里面的代码出错了,就会执行except里面的代码(可以在此处做异常处理)
    print("请输入数字类型!")
    print(e)       # 打印错误信息
except FileNotFoundError:
    print("您打开的文件不存在!")

案例三:Exception 所有异常类型,做相同的处理(捕获所有异常信息,除语法错误以外)

try:
    # 有可能会出现错误的代码
    num = int(input("请输入一个数值:"))  # ValueError
    with open('demo1_os模块.py', 'r', encoding='utf8') as f:  # FileNotFoundError
        f.read()
    # print(a)    # 此处会抛异常
except Exception as e:
    print("请输入数值类型!")
    print(e)

@Author:木又
@File:demo4_异常处理补充.py
@Time:2020/7/27 21:56
@Name:Ta Quan Ge

try----except

1.一个except 捕获指定多个异常类型

# name = 'zq'
# dic ={}
# try:
#     print(name)
#     a=10/0
#     print(dic['name'])
# except(NameError,ZeroDivisionError,KeyError) as e:
#     print(e)

Exception 捕获所有的异常类型

# name = "zq"
# try:
#     print(name)
#     a = 10/0
#     print(dic['name'])
# except Exception as e:
#     print(e)

‘’’
try----except----else

‘’’

# name = "zq"
# try:
#     print(name)
# except Exception as e:
#     print("代码错误")
#     print(e)
# else:
#     print("try里面的代码没有出错")


"""
==================================================
"""
name = "zq"
try:
    print(name)
    f = open("demo1_os模块.py",'r')
    f.write([1,2,3])

except Exception as e:
    print("代码错误")
    print(e)
else:
    print("try里面的代码没有出错")

# 不管出不出错都会执行
finally:
    print("------finally-----")
    f.close()
print("测试")




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值