Python基础(八)-文件和异常

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ITxiaodong/article/details/79691972

读取文件中的数据

  • 读取整个文件
with open('text.txt') as file_object:
     contents = file_object.read()
     print(contents)
  • 分析

with 关键字在不需要访问文件时会将其关闭open()函数接收一个参数,该参数是文件路径,text.txt是当前目录下的文件,所以可以直接这么写,在其他路径直接写其他路径名,如:text.txt在当前目录下的txt文件夹中,那么路径为:txt\text.txt,要是在D盘的txt文件夹下可以这么写:D:\txt\text.txt。as 表示给对象起别名,read()读取这个文件的全部内容,结果为字符串(该字符串结尾会多一行空行),可用rstrip()去除空行。

  • 逐行读取文件
with open('text.txt') as file_object:
     for line in file_object:
        # 逐行读取需要去除空行,否则空行会越来越多(也是看需求吧)
        print(line.rstrip())
  • strip() 和rstrip() 的区别
    strip() : 去掉所有空格
    rstrip() :去掉空行

写入文件

  • 写入空文件
file_name = 'text0.txt'
 with open(file_name, 'w') as file_object:
     file_object.write(" I Love Python.\n")
     file_object.write(" I Love Android")
  • open() 函数又两个参数,第一个参数是文件名,第二个参数是模式:w表示写入模式,还有r表示读取模式,a 或者 r+表示附加模式,python 默认是以只读模式打开文件
  • 如果写入的文件不存在,则穿件该文件
  • 如果是写入模式, 会将文件清空再写入
  • 附件模式,是在文件的内容末尾加上新写入的内容

异常

  • 使用try-except代码块:ZeroDivisionError
try:
    print(5/0)
 except ZeroDivisionError:
    print("you can't divide by zero!")
  • FileNotFoundError 异常

打开文件找不到文件会提示该异常。

  • pass 语句

表示什么都不做,在发生错误时不想输出信息,可以用pass语句

存储数据

  • 使用 json.dump() 和 json.load()
# 存文件
import json
numbers = [2, 3, 5, 7, 11, 13]
filename = 'numbers.json'
with open(filename, 'w') as f_obj:
    json.dump(numbers, f_obj)

# 取文件
import json
filename = 'numbers.json'
with open(filename) as f_obj:
    numbers = json.load(f_obj)

print(numbers)
  • 导入json模块,创建一个数字列表,将列表存储到文件,利用json.dump()将文件存为json格式
  • 利用json.load()将文件读取出来
阅读更多

扫码向博主提问

龙衣倩

买的到的知识都是不值钱的
  • 擅长领域:
  • Android
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页