Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 495|回复: 0

Python学习——文件操作和异常处理

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-5-26 16:21:07 | 显示全部楼层 |阅读模式
    文件的读写
    1.函数open()接受一个参数:要打开的文件名称,并返回一个表示文件的对象
      1)文件路径
        相对文件路径
        绝对文件路径
        linux/OS X 文件路径中使用斜杠(/) 如file_path = '/home/filename.txt'
        Windows 文件路径中使用反斜杠(\) 如file_path = 'C:\Users\filename.txt'
        
    2.关键字with在不再需要访问文件后将其关闭。
    3.也可以用open()和close()来打开和关闭文件,但如此做当程序存在bug,close()语句未执行时,文件将不会正常关闭。
    4.读取文件
      1)方法read()可以读取文件的全部内容,将其作为一个长字符串存储,当read()到达文件末尾是返回一个空字符串,显示出来是一个空行。要删除多出来的空行,可以是使用方法rstrip()
      2)逐行读取
        可使用for循环,注意这里每行的末尾都有换行符,可以使用方法rstrip()清除
         for line in file_object:
           print(line)
        可使用方法readlines(),从文件中读取每一行,并将其存储在一个列表中,在with代码块外仍可使用
         lines = file_object.readlines()
    5.写入文件 
      1)写入文件时,调用open()要提供另一个实参,告诉Python你要写入打开的文件,第二个参数说明了打开文件的模式:'w': 写入模式,'r': 读取模式, 'a': 附加模式, 'r+':读取和写入模式
      省略模式实参则默认以只读方式打开
      ×××特别注意,以写入模式打开文件时,如果指定的文件已经存在,Python将在返回文件对象前清空该文件
      with open(filename, 'w') as file_object:
        file_object.write("Hello World!")
      2)添加内容
        只想给文件添加内容,而不覆盖原有内容,可以以附加模式打开文件
    异常的处理
    Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生错误时,它都会创建一个异常对象,若编写了处理该异常的代码,程序将继续运行,否则程序将停止,并显示一个traceback
    其中包含有关异常的报告
    1)try-except-else代码块
    若try代码块中的代码运行起来没有问题,python将跳过except代码块;否则python将查找except代码块,并进行处理。而依赖于try代码块成功执行的代码都放在else代码块中。
    如果出现错误时,对错误不进行任何处理,可使用pass语句,pass还充当了占位符,提醒你程序的某个地方还什么都没做,以后也许要添加些代码
    常见异常如: FileNotFoundError, ZeroDivisionError,ValueError
    下面是练习用的两个文件操作和异常处理的小程序

      

    # title = "Alice in Wonderland"
    # print(title.split())      方法split()将以空格为分隔符将字符串拆分成多个部分,并存储于一个列表中


    def count_words(filename):
    ''' count how many words in a text file '''
    try:
    with open(filename) as f_obj:
    contents = f_obj.read()
    except FileNotFoundError:
    pass
    #msg = "Sorry, the file " + filename + " does not exist."
    #print(msg)
    else:
    words = contents.split()
    print("The file " + filename + " has about " + str(len(words)) + " words.")


    def addTwoNumber():
    ''' add two numbers. '''
    first_number = input("First Number: ")
    second_number = input("Second Number: ")
    try:
    first_number = int(first_number)
    second_number = int(second_number)
    except ValueError:
    print("Please check if your input is legal.")
    return False
    else:
    res = first_number + second_number
    print(str(first_number)+" + "+str(second_number)+" is "+str(res))
    return True
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 08:25 , Processed in 0.059490 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表