python自动化笔记:os模块和异常处理

news2024/9/23 1:40:34

目录

  • 一、os模块
    • 1.1、常用方法
    • 1.2、其他方法(了解即可)
  • 二、异常处理 try except
    • 2.1、语法格式1:
    • 2.2、语法格式2:指定异常类别,捕获异常
    • 2.3、语法格式3:try-finally 语句无论是否发生异常都将执行最后的代码。
    • 2.4、主动抛出异常raise

一、os模块

os模块----》对文件目录进行操作 -----》实现对文件目录操作与管理

1.1、常用方法

方法描述
os.getcwd ( )获取当前.py文件所在的项目路径
os.path.dirname (path)返回文件上一级路径
os.path.join(path1,path2)连接两个部分的路径,组成一个完整的路径
os.path.abspath(path)获取绝对路径
os.path.split(path1)路径拆分,拆成目录+文件

1.2、其他方法(了解即可)

方法描述
os.chdir()切换工作路径
os.mkdir()在某个目录下创建一个新目录
os.rmdir()删除一个目录
os.listdir()获取当前路径下的目录列表,返回列表格式数据
os.path.isdir()判断当前文件是否是目录,返回布尔值
os.path.isfile()判断当前文件是否是文件,返回布尔值

二、异常处理 try except

可以使用try except语句来捕获所有异常

2.1、语法格式1:

 try:
  执行代码
 except:
  发生异常执行的代码
 else:
  没有异常执行的代码

代码示例:

try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败") # 以上代码只用于模拟场景,不要也行
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
else:
    print("请执行下一步")

场景:

1、出现异常,执行except中的代码:如输入取款金额时,输入汉字

控制台输出:
在这里插入图片描述

2、没有异常,执行else中的代码:如输入取款金额时,输入10

控制台输出:
在这里插入图片描述

2.2、语法格式2:指定异常类别,捕获异常

try:   
 file1=open('2.txt')
 s=file1.readline()
  i=int(s)
except  ValueError as err2:
print('ValueError:{0}'.format(err2))
except OSError as err:    
print('OSError:'.format(err))
except:    
print('unexcept error', sys.exc_info())

代码示例:

try:
    uername = input("请你输入你的账号")
    passwd = input("请你输入你的密码")
    if uername == "admin"and passwd == "123456":
        print("登录成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))

except Exception as error:
    print("类型。。。。", str(error))
else:
    print("无异常继续执行取款的下一步操作......")

出现异常,执行except中的代码:如输入取款金额时,输入字母

在这里插入图片描述

2.3、语法格式3:try-finally 语句无论是否发生异常都将执行最后的代码。

 try:
  执行代码
 except:
  发生异常执行的代码
 else:
  没有异常执行的代码
 finally:
  不管有没有异常都会执行的代码

代码示例:

try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
else:
    print("请执行下一步")    
finally:
    print("请收好您的卡片")

场景:

1、出现异常,执行except中的代码:如输入取款金额时,输入汉字

控制台输出:
在这里插入图片描述

2、没有异常,执行else中的代码:如输入取款金额时,输入10

控制台输出:

在这里插入图片描述

2.4、主动抛出异常raise

代码示例:

try:
    username = input("请输入账号:")
    passwd = input("请输入密码:")
    if username=="admin"and passwd=="123456":
        print("登陆成功")
    else:
        print("登录失败")
    money = int(input("请输入取款金额"))
except:
    print("出现异常了")
    # 主动抛出异常,让python接收到
    raise
else:
    print("请执行下一步")

控制台输出:

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

〖基础篇1〗ROS2 Foxy Ubuntu 20.04 (Focal Fossa)安装教程

目录 一、linux Ubuntu 20.04 (Focal Fossa)安装二、linux VPN安装三、linux anaconda安装(可选)四、linux ROS2 foxy安装1. 设置语言环境2. 设置DEB软件源3. 安装开发工具和依赖4. 安装ROS2 foxy桌面版本5. 运行示例 一、linux Ubuntu 20.04 (Focal Fos…

常见框架漏洞详解③!!

Apache Apache 是世界使⽤排名第⼀的 Web 服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算 机平台上,由于其跨平台和安全性被⼴泛使⽤,是最流⾏的 Web 服务器端软件之⼀。 apache⽬录结构: bin:存放常⽤命令⼯具,如h…

颠倒字符串中的单词(LeetCode)

题目 给你一个字符串 ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 中可能会存在前导空格、尾随…

CSDN机器人与僵shi粉测试(真人看看)

​哈哈哈一起玩个游戏 发现老是莫名其妙有很多关注点赞与收藏&#xff0c;关注的几百个人应该都是机器人 此博文用于检测平台机器人阅读量 —>如果是真人请务必随便留言<— 可以根据阅读量与评论判断机器人数量 不用点赞收藏有机器人就行 机器人统一特征是在2019年左右…

【C++ 面试 - 基础题】每日 3 题(七)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

ImportError: DLL load failed while importing _rust: 找不到指定的程序的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

网络协议四 物理层,数据链路层

从这一节开始学习 五层模型。学习方法是从最底层物理层开始学习 七层模型 五层模型 各个层用的协议&#xff0c;以及加上协议后的称谓 各个层的作用 应用层&#xff1a;可以认为是原始数据&#xff0c;该数据称为 报文&#xff0c;用户数据。 运输层&#xff1a;也叫传输层&am…

【Linux】1w字详解自定义Shell管道 | 构建简易进程池

目录 续&#xff1a;通信 4 种情况 应用场景 1. 自定义 shell 管道 1. 包含头文件 2. 解析命令函数 详细步骤 3. 执行命令函数 4. 主函数 总结 2. 使用管道实现一个简易版本的进程池 代码结构 代码实现 channel.hpp tasks.hpp main.cc 子进程读取任务&#xff…

Stable Diffusion绘画 | 提示词基础原理

提示词之间使用英文逗号“,”分割 例如&#xff1a;1girl,black long hair, sitting in office 提示词之间允许换行 但换行时&#xff0c;记得在结尾添加英文逗号“,”来进行区分 权重默认为1&#xff0c;越靠前权重越高 每个提示词自身的权重默认值为1&#xff0c;但越靠…

Al+CRM:企业增长新引擎

在企业中&#xff0c;GenAI可以帮助改进决策制定、优化运营流程、增强产品和服务的创新能力&#xff0c;以及提供更加个性化的客户体验&#xff0c;在Gartner的调研中&#xff0c;AI将在以下领域发挥重要作用。 AICRM,将改变原有CRM的使用体验。把抽屉式的系统操作&#xff0c;…

【ubuntu20.04 运行sudo apt-get upgrade报错】

ubuntu20.04 运行sudo apt-get upgrade报错 1 确保系统是最新的2 检查你的软件源列表是否正确无误3 修改软件源3.1 备份原来的源3.2 更换源3.2.1 Ubuntu20.04(focal)阿里云软件源3.2.2 Ubuntu20.04清华软件源 3.3 更新软件源 4 修复升级5 重新安装特定软件包6 导入缺失的密钥 1…

7.1.算法分析与设计-算法分析基本概念与算法分析基础

很难 算法基础知识 算法是对特定问题求解步骤的一种描述&#xff0c;它是指令的有限序列&#xff0c;其中每一条指令表示一个或多个操作。简单的说算法就是某个问题的解题思路&#xff0c;算法的五个重要特性如下&#xff1a; 有穷性。一个算法必须总是&#xff08;对任何合…

数据结构——优先队列

文章目录 一、基本介绍二、基本操作三、实现1 实现的思路2 大顶堆实现2.1 概念2.2 完全二叉树的实现方式2.3 优先队列的图示2.4 对于基本操作实现的讲解2.4.1 检查队列是否为空 ( isEmpty )2.4.2 检查队列是否已满 ( isFull )2.4.3 查看 ( peek )2.4.4 插入 ( offer )2.4.5 删除…

计算数学精解【5】-prolog计算精解(1)

文章目录 概述什么是prolog安装 基础控制台增加规则参考文献 概述 什么是prolog Prolog&#xff08;Programming in Logic&#xff09;是一种面向演绎推理的逻辑型程序设计语言&#xff0c;最早于1972年由柯尔麦伦纳&#xff08;Colmeraner&#xff09;及其研究小组在法国马赛…

Python教程(十三):常用内置模块详解

目录 专栏列表1. os 模块2. sys 模块3. re 模块4. json 模块5. datetime 模块6. math 模块7. random 模块8. collections 模块9. itertools 模块10. threading 模块 总结 专栏列表 Python教程&#xff08;十&#xff09;&#xff1a;面向对象编程&#xff08;OOP&#xff09;P…

uniapp h5本地预览pdf教程 (含白屏|跨域解决方案)

第一步 下载pdf.js 很多pdf.js版本在真机ios环境都会白屏 经测试后2.5.207版本比较稳定&#xff0c;Android和IOS环境PDF文件都能加载成功 下载地址 https://github.com/mozilla/pdf.js/releases/tag/v2.5.207https://github.com/mozilla/pdf.js/releases/tag/v2.5.207第二步 解…

leetcode50. Pow(x, n),快速幂算法

leetcode50. Pow(x, n)&#xff0c;快速幂算法 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;xn &#xff09;。 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a; 输入&#xff…

贵阳高新区:加强数字人才培育 引领数字经济未来

在近期举行的贵阳高新区&#xff08;贵州科学城&#xff09;2024年科技创新与成果交流夏季活动中&#xff0c;来自清华大学2022级大数据&#xff08;贵州&#xff09;全日制工程硕士专业的学生们展示了他们在城市公交数据挖掘、通勤线路优化、场景数据的稳定训练以及营运车辆风…

数据分析:多诊断指标ROC分析

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 介绍 pROC::roc函数能够使用一个指标(predictor)去区分两个或多个分组(response),并计算95%置信区间的原理基于以下几个关键点: ROC曲线:ROC曲线是一种图形表示,用于展示分类模型在所有…

【轨物洞见】从电磁感应现象的发现和应用理解科学、技术、工程的关系

电磁感应现象是19世纪以来人类最伟大的发现。有了这个发现&#xff0c;才有后来电和无线电这两大改变人类命运的技术&#xff0c;第二次、第三次工业革命才会发生&#xff0c;人类财富才会猛增、我们的生活才会越来越美好。 让我们来回顾一下电磁感应现象的发现和应用&#xff…