python学习笔记 第四天

文件的读取和写入

1、open函数用于打开当前目录下指定路径的文件,并将其存储在file_object变量中;
2、关键字with在不需要访问文件’readme.txt’后,会将其自动关闭(你也可以调用close方法来直接关闭文件,但一般建议让python自己选择合适的时候将其关闭,以免因未妥
善关闭文件而导致数据受损);
3、如果需要读取系统中任意位置的文件,则需要使用绝对路径(windows系统有时不能正常解读路径中的斜杠,这时应以原始字符串方式指定路径,即在路径单引号前加上r);4、fileinput.input(filename)方法也可以打开文件,但一般建议使用open函数来打开文件,其执行效率和稳定性都更好。
5. 第一个实参也是要打开的文件的名称;第二个实参(‘w’ )告诉Python,我们要以写入模式写入模式 打开这个文件。打开文件时,可指定读取模式读取模式 (‘r’ )、写入模式写入模式 (‘w’ )、附加模式附加模式 (‘a’ )或让你能够读取和写入文件的模式(‘r+’ )。如果你省略了模式实参,Python将以默认的只读模式打开文件。
**注意:**在打印文件内容时,每行文本末尾都增加了一个空行,这是因为print()方法在每一行文字的换行符后面还自带了一个换行,可使用rstrip()方法,或end=‘ ’参数来解决
这个问题。

使用readlines()方法逐行读取

filename = „readme.txt‟
with open(filename) as file_object:
lines = file_object.readlines()
for line in lines:
print(line, end=„‟)
注意:使用readlines方法可以将文件内容先读取出来,存
储在一个列表中,然后文件会自动关闭(以保护文件的内
容);readlines()方法还能够识别所有合法的换行符。

使用readline()方法逐行读取

除了readlines()方法,还可以使用readline([n])方法来一行
一 行 的 读 取 数 据 , 并 可 指 定 读 取 的 字 符 数 量 。 假 如
somefile.readline() 返 回 的 是 ‘ Hello, world!\n ’ , 那 么
somefile.readline(5)返回的将是‟Hello‟。

使用read()方法读取文件

read([n])方法用来读入整个文件的内容,如果给出参数n,
则读入前n个字符或字节流内容。

使用write()方法写入数据

函数write() 不会在你写入的文本末尾添加换行符,因此如果你写入多行时没有指定换行符,文件看起来可能不是你希望的那样

#创建一个包含文件各行内容的列表
filename=r"C:\Users\zhouyi\Desktop\pi_digits.txt"
with open(filename) as file_object:
     lines=file_object.readlines()
print(lines)

#写入空文件
file_name='a.txt'
with open(file_name,'r+') as file_object:
     file_object.write("I love programming2")
with open(file_name,'r') as file_object:
     lines=file_object.readlines()
print(lines)

异常

异常是使用try-except 代码块处理的。try-except 代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。 try-except-else 代码块的工作原理大致如下:Python尝试执行try 代码块中的代码;只有可能引发异常的代码才需要放在try 语句中。有时候,有一些仅在try 代码块成功执行时才需要运行的代码;这些代码应放在else 代码块中。 finally中是一定执行的代码。

# 将文件读取定义成一个函数
def readFun(file_name):
    try:
        with open(file_name, "r") as file_object:
            contents = file_object.read()
    except FileNotFoundError:
        print("文件未找到")
    else:
        print('此函数运行成功')
    finally:
        return contents
            
contents=readFun("a.txt")
print(contents)

json数据存储

在python中,模块json提供了一种简单的方式进行数据存取,并方便的实现与其他程序共享这些数据。json(JavaScript Object Notation)格式最初是为JavaScript语言开发的,是一种常见的轻量级数据格式,被包括python在内的众多语言采用。其采用键值对的方式进行数据存储:“key”: “value” #键值对都保存在双引号中json格式的数据文件扩展名为.json。

猜你喜欢

转载自blog.csdn.net/qq_44788518/article/details/108614228