python获取文件路径错误处理_python路径和异常处理

一、路径处理

路径处理:

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

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

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

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

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

importos#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命令)

importos#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("您输入的不是数字!!!")exceptFileNotFoundError:print("您打开的文件不存在,没找到")#不同的错误类型,作不同的处理

print("---------2---------")#3.所有的异常类型,做相同的处理

try:#有可能会出现错误的代码,放在try下面

num = int(input("请输入一个数值:")) #ValueError

with open("sss.txt", "r") as f: #FileNotFoundError

f.read()exceptException as e:print(e) #打印异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值