当前位置 博文首页 > 详解python中的异常和文件读写

    详解python中的异常和文件读写

    作者:李道臣 时间:2021-02-17 06:32

    Python异常

    1、python异常的完整语法

    try:
      # 提示用户输入一个整数
      num = int(input("输入一个整数:"))
      # 使用 8 除以用户输入的整数并且输出
      result = 8 / num
      print(result)
    except ValueError:
      print("请输入正确的整数!")
    except Exception as result:
      print("未知错误:%s" % result)
    else:
      print("尝试成功")
    finally:
      print("无论是否出现错误都会执行的代码!")
    print("-" * 50)

     2、python异常的传递性

     当函数/方法执行出现异常,会将异常传递给函数/方法的调用一方,如果传递到主程序,仍然没有异常处理,程序才会被终止。

    # 异常的传递性
    def demo1():
      return int(input("输入整数:"))
    
    
    def demo2():
      return demo1()
    # 利用异常的传递性,在主程序捕获异常
    
    
    try:
      print(demo2())
    except Exception as result:
      print("未知错误:%s" % result)

     3、python主动抛出异常

    def input_password():
      # 1. 提示用户输入密码
      pwd = input("请输入密码:")
      # 2. 判断密码长度 >= 8,返回用户输入的密码
      if len(pwd) >= 8:
        return pwd
      # 3. 如果 < 8 主动抛出异常
      print("主动抛出异常!")
      # 1> 创建异常对象 - 可以使用错误信息字符串作为参数
      ex = Exception("密码长度不够!")
      # 2> 主动抛出异常
      raise ex
    
    
    # 提示用户输入密码
    try:
      print(input_password())
    except Exception as result:
      print(result)

    Python文件读写

    1、读取文件后文件指针会改变

    # 1. 打开文件
    file = open("test.py")
    # 2. 读取文件内容
    text = file.read()
    print(text)
    print(len(text))
    print("-" * 50)
    text = file.read()
    print(text)
    print(len(text))
    # 3. 关闭文件
    file.close()

     2、复制小文件写法

    # 1. 打开
    file_read = open("test.py")
    file_write = open("test[复件].py", "w")
    # 2. 读、写
    text = file_read.read()
    file_write.write(text)
    # 3. 关闭
    file_read.close()
    file_write.close()

     3、复制大文件写法

    # 1. 打开
    file_read = open("test.py")
    file_write = open("test[复件].py", "w")
    # 2. 读、写
    while True:
      # 读取一行内容
      text = file_read.readline()
      # 判断是否读取到内容
      if not text:
        break
      file_write.write(text)
    
    # 3. 关闭
    file_read.close()
    file_write.close()
    js
    下一篇:没有了