python路径和异常处理

一、路径处理

路径处理:
os.path.dirname : 获取文件/文件夹 所在的目录
        os.path.join: 路径拼接的方法
 os.path.abspath: 获取绝对路径

__file__ : 在哪个文件里面,打印的就是哪个文件的文件名

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

import os

# 1、os.path.dirname : 获取文件/文件夹 所在的目录
file_path = r"C:\Users\Administrator\PycharmProjects\example\day_01\demo01.py"
res = os.path.dirname(file_path)
print(res)   # C:\Users\Administrator\PycharmProjects\example\day_01

file_path_1 = r"C:\Users\Administrator\PycharmProjects\example\day_01"
print(os.path.dirname(file_path_1))  # C:\Users\Administrator\PycharmProjects\example
# 发现一个规律,打印出来的都是刚好上一级目录文件夹

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

# 2、os.path.join: 路径拼接的方法
path01 = r"C:\Users\Administrator\PycharmProjects\example\day_01"
file_name = "demo02.py"
file_path_2 = os.path.join(path01, file_name)
print(file_path_2)   # C:\Users\Administrator\PycharmProjects\example\day_01\demo02.py

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

# os.path.abspath() 获取绝对路径
print(os.path.abspath("."))  # C:\Users\Administrator\PycharmProjects\example\day_10
print(os.path.abspath(".."))  # C:\Users\Administrator\PycharmProjects\example

res = os.path.abspath(__file__)
print(res)           # C:\Users\Administrator\PycharmProjects\example\day_10\路径处理.py

4、os常用方法扩展

os模块的其他常用方法:

os.getcwd : 获取当前的工作路径(等同于Linux的 pwd命令)
os.chdir: 切换工作路径 (等同于Linux的 cd命令)
os.listdir 获取当前工作路径下的文件 (等同于Linux的 ls命令)

import os

# os.getcwd : 获取当前的工作路径
r1 = os.getcwd()
print(r1)    # C:\Users\Administrator\PycharmProjects\example\day_10

# os.chdir: 切换工作路径
os.chdir('C:/')  # 切换到c盘的根目录

# os.listdir  获取当前工作路径下的文件
r3 = os.listdir('.')
print(r3)

# os.mkdir():创建一个文件夹
# os.mkdir("test009.txt")

# os.rmdir():删除一个文件夹
# os.rmdir("test009.txt")

# 判断是否是文件
r4 = os.path.isfile(r"C:\Users\Administrator\PycharmProjects\example\day_02\demo01_数值类型.py")
print(r4)   # True  打印True,说明是文件

# 判断是否是文件夹
r5 = os.path.isdir(r"C:\Users\Administrator\PycharmProjects\example\day_02")
print(r5)   # True  打印True,说明是文件夹

二、异常处理

try: 有可能会出现错误的代码,放在try下面
    # try里面的代码
      1.涉及到用户输入
      2.涉及到文件操作
      3.涉及到网络请求

except: 当try里面的代码出错了,就会执行except里面的代码

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

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

# 1.正常举例
try:
    # 有可能会出现错误的代码,放在try下面
    num = int(input("请输入一个数值:"))
except:
    # 当try里面的代码出错了,就会执行except里面的代码
    print("您输入的不是数字!!!")
print("---------1---------")

# 2.捕获指定的异常类型 
try:
    # 有可能会出现错误的代码,放在try下面
    num = int(input("请输入一个数值:"))  # ValueError
    with open("sss.txt", "r") as f:   # FileNotFoundError
        f.read()
except ValueError:
    print("您输入的不是数字!!!")
except FileNotFoundError:
    print("您打开的文件不存在,没找到")
# 不同的错误类型,作不同的处理
print("---------2---------")

# 3.所有的异常类型,做相同的处理
try:
    # 有可能会出现错误的代码,放在try下面
    num = int(input("请输入一个数值:"))  # ValueError
    with open("sss.txt", "r") as f:   # FileNotFoundError
        f.read()
except Exception as e:
    print(e)   # 打印异常

你可能感兴趣的:(python路径和异常处理)