python-文件的操作

一、异常    程序在运行的过程中,不可避免出现一些错误,这些错误成为异常    异常以后的代码都不会被执行    try 语句        代码块(可能出现错误的语句)    except 异常类型 as 异常名:        代码块(出错以后执行的语句)    except 异常类型 as 异常名:        代码块(出错以后执行的语句)    except 异常类型 as 异常名:        代码块(出错以后执行的语句)    ....    else:        代码块(没有出现错误时要执行的语句)    finally:        print(‘无论是否出现异常,都会执行。。‘)异常的传播 --    当这个程序在运行的过程中出现异常,所以异常信息会被保存在一个专门的异常对象中, 而异常传播时,实际上就是异常对象抛给了调用处二、文件    文件(file) I/O(Input/Output)    通过python程序来对计算机中的各种文件进行增删改查的操作    操作文件的步骤    1.打开文件 2. 对文件进行读写 3. 关闭文件    open(file_name):返回值是一个对象, 返回的是当前打开的文件的对象三、关闭文件    file_obj.close()    # with  ...as 语句 : 不用手动写 file.close()    例如:    with open(file_name) as file_obj:        # 在with语句中操作open文件        print(file_obj.read())    当我们获取了文件对象之后,所有的操作都是通过文件对象来操作的    读取文件内容, 通过read() 来读取,将读取到的内容保存到一个字符串中    try:        with open(file_name) as file_obj:            # 在with语句中操作open文件            print(file_obj.read())        except FileNotFoundError:            # print(‘%s没有找到‘ % file_name)            print(f‘{file_name}文件不存在‘)四、读取文件    调用open() 来打开了一个文件,打开的文件可以分为2种类型:        第一种是纯文本文件(使用utf-8编写的文本文件)        第二种是二进制文件(图片,音频,视频)    help(file_obj.read)    read() 可以接收一个size作为参数来传递,默认值是-1会读取所有    该参数时用来指定读取字符的数量    可以为size 指定一个值,这样read()会读取指定数量的字符    每一次读取的时候都是从上一次读取的位置来读取    如果剩余的字符数量小于size,则一下读取剩余的内容    *    readline()  一行一行读取内容    readlines()  用于一行一行的读取,将读取的数据放在一个列表里五、文件的写入    write() 向文件中写入文件,write()需要传递一个字符串,    操作文件的时候,要指定操作的类型    w 表示可以写文件,使用w写入文件的时候,如果文件不存在会创建文件,如果存在,会覆盖原文件    file_obj.write(6666)  # TypeError: write() argument must be str, not int    a 表示追加,在原有字符串后面追加    r = file_obj.write(str(6666)) 返回类型是 写入字符串的长度六、二进制文件--    rb 读二进制, wb 写二进制    file_name = r‘C:\Users\Administrator\Desktop\周深 - 与卿.mp3‘    with open(file_name,‘rb‘) as file_obj:        # print(file_obj.read(100))        new_name = ‘a.mp3‘        with open(new_name,‘wb‘) as new_obj:            # 定义读取的大小            nu = 1024 * 100            while True:                content = file_obj.read(nu)                if not content:                    break                new_obj.write(content)

相关推荐