文件操作

#一、文件操作简介

#1.什么是文件

#操作系统提供给用户操作复杂硬件(硬盘)的简易接口

#2.为什么要操作文件

#人或应用程序需要永久保存的数据

#3.如何使用
# x = open(r'D:\PYCM文件\a.txt',encoding='utf-8')  # r 取消转义
# print(x)  # x是文件对象
# print(x.read())  # windows操作系统默认的编码是’gbk'
# x.read()  # 向操作系统请求,读取文件内容

# x.close()  # 告诉操作系统,关闭打开的文件

# with open(r'D:\PYCM文件\a.txt',encoding='utf-8') as x , \
#     open(r'D:\PYCM文件\b.txt', encoding='utf-8') as x1:  # , \ 支持多个文件
#     print(x)
#     print(x.read())

 

二、操作文件的单位

# t 文本文件   t在使用的时候需要指定encoding参数,如果这个t不写默认就是t
# b 二进制 一定不能指定encoding参数
# mode参数可以不写,不写默认是rt,只读的文本文件,这个t不写默认就是t
#第一种:t 文本文件
# with open(r'D:\PYCM文件\a.txt',mode='rt',encoding='utf-8') as x:
#     print(x.readable())  # 是否可读   打印的值:True
#     print(x.writable()) # 是否可写    打印的值:False
#     print(x.read())  # 一次性将"a.txt"文件内容全部读出


#第二种: b 二进制   不需要编码参数
with open(r'D:\PYCM文件\a.txt',mode='rb') as x:
    print(x.readable())  # 是否可读   打印的值:True
    print(x.writable()) # 是否可写    打印的值:False
    print(x.read())  #  一次性将"a.txt"文件内容全部读出

三、文件处理模式
# r  # 只读模式
# w # 只写模式
# a # 追加写模式


第一种:r模式
#注意:
# 1.r模式再打开文件的时候,如果文件不存在,直接报错

# 2.文件路径可以写相对路径,但是必须注意该文件不许与执行文件在同一层文件下

# with open(r'D:\PYCM文件\a.txt',mode='rt',encoding='utf-8') as x:
     # print(x.readable())  # 是否可读   打印的值:True
     # print(x.writable()) # 是否可写    打印的值:False

     # print('>>1:')
     # print(x.read())  # 一次性将文件内容全部读出
     # print('>>2:')
     # print(x.read())  # 读完一次之后,文件光标已经到文件末尾了,没有内容可读

     # print(x.readlines())  # 返回的是一个列表,列表中的一个个元素对应的就是文件的一行行内容
     # for i in x:
     #     print(i)  # 这个方法 就可以解决大文件一次性读取占用内存过高的问题
     # print(x.readline())  # 只读取文件一行内容
View Code

第二种:w模式

#注意:
# 1.文件不存在的情况下 自动创建该文件
# 2.当文件存在的情况下 会先清空文件内容再写入

# with open(r'D:\PYCM文件\a.txt',mode='w',encoding='utf-8') as x:
#     print(x.readable())  # 是否可读   打印的值:False
#     print(x.writable()) # 是否可写    打印的值:True

#     x.write('把一切献给现在\r')
#     x.write('把一切献给现在\n')  # \r或者\n 代表换行
#     x.write('把一切献给现在\n')
#     x.write('把一切献给现在')  # 打印结果:会在“a.txt”显示4行 '把一切献给现在'

# l = ['出你的就是能促进,s检查司机说\n','循环水泵垂涎三尺,你sdfsf翻~\n','不sfad不,你没sa翻~\n']
# x.writelines(l)  # 会将l列表里的内容写入“a.txt”中,如果该文件里有内容,则会替换原文件的内容
View Code

第三种:a模式

#注意:
# 1.当文件不存在的情况下 自动创建该文件
# 2.当文件存在的情况下,不清空文件内容, 文件的光标会移动文件的最后
# with open(r'bbb.txt',mode='a',encoding='utf-8') as f:
#     print(f.readable())  # 是否可读
#     print(f.writable())  # 是否可写
#     f.write('呢\n')  # 会将此内容写入原本不存在的"bbb.txt"文件中,如果"bbb.txt"文件存在,则会写入该文件内容里最后一个光标后面
View Code

 


posted @ 2019-07-06 11:27  小青年て  阅读(157)  评论(0编辑  收藏  举报