翼度科技»论坛 编程开发 python 查看内容

Python文件的基本操作

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
Python文件的基本操作


  • 文件的基本操作
  • 文件的读写模式
  • 文件的读写操作相关的方法
  • 文件的操作模式
  • 文件的练习题
文件的基本操作
  1. 1. 我们能够操作哪些类型的文件:
  2.     .txt 没有后缀名的文件
  3.     # 我们现在不能操作word、Excel、PPT等文件暂时不能够操作
  4.     numpy、pandas等模块可以操作
  5. 2. 如何操作文件
  6.         """
  7.                 三步法:
  8.                         1. 打开文件(open)
  9.                         2. 读或者写
  10.                         3. 关闭文件
  11.         """
  12. # open('要操作的文件路径', '读写模式', '字符编码')   
  13. 文件的路径:
  14.         相对路径
  15.     绝对路径
  16.     'D:\Python27\day10\a.txt'
  17.     # 当路径中出现了字母和斜杠的组合会产生一些特殊的含义,所以我们应该给去掉:
  18.     r'D:\Python27\day10\a.txt'
  19. f= open(r'D:\Python27\day10\a.txt', 'r', encoding='utf-8')  # \n \t
  20. # 返回的是文件句柄
  21. print(f) # <_io.TextIOWrapper name='D:\\Python27\\day10\\a.txt' mode='r' encoding='utf-8'>
  22. # 2. 读取文件
  23. # helloworld
  24. print(f.read()) # 类似于是文件的内置方法
  25. # 3. 关闭文件
  26. f.close()
  27. '''第二种方式来操作文件'''
  28. # with上下文管理器打开文件!
  29. # as:起别名
  30. # 它的特点就在于:能够自动关闭文件
  31. with open('a.txt', 'r', encoding='utf-8') as f: # f=open('a.txt', 'r', encoding='utf-8')  f.close()
  32.     print(f.read())
复制代码
读写操作相关的方法
  1. r(默认的):只读
  2. w:只写
  3. a:只追加写
复制代码
r模式的使用
  1. 1. 只读模式
  2. # 1. 读模式
  3. """当文件路径不存在的时候,会直接保存"""
  4. # f = open('b.txt', 'r', encoding='utf-8') #  No such file or directory: 'b.txt'
  5. # f = open('a.txt', 'r', encoding='utf-8') #  No such file or directory: 'b.txt'
  6. # print(f.read())
  7. # f.close()
  8. #
  9. # with open('a.txt', 'r', encoding='utf-8') as f:
  10. #     print(f.read())
复制代码
w模式的使用
  1. # w只写模式: 在文件不存在时会创建空文档,文件存在会清空文件,文件指针跑到文件开头
  2. with open('b.txt',mode='w',encoding='utf-8') as f:
  3.     f.write('你好\n')
  4.     f.write('我好\n')
  5.     f.write('大家好\n')
  6.     f.write('111\n222\n333\n')
  7. #强调:
  8. # 1 在文件不关闭的情况下,连续的写入,后写的内容一定跟在前写内容的后面
  9. # 2 如果重新以w模式打开文件,则会清空文件内容
复制代码
a模式的使
  1. # a只追加写模式: 在文件不存在时会创建空文档,文件存在会将文件指针直接移动到文件末尾
  2. with open('c.txt',mode='a',encoding='utf-8') as f:
  3.      f.write('44444\n')
  4.      f.write('55555\n')
  5. #强调 w 模式与 a 模式的异同:
  6. # 1 相同点:在打开的文件不关闭的情况下,连续的写入,新写的内容总会跟在前写的内容之后
  7. # 2 不同点:以 a 模式重新打开文件,不会清空原文件内容,会将文件指针直接移动到文件末尾,新写的内容永远写在最后
复制代码
读写操作相关的方法
  1. 1. 读系列
  2.         # 读系列
  3.     with open('a.txt', 'r', encoding='utf-8') as f:
  4.         # print(f.read()) # read方法是一次性读取文件中得所有数据
  5.         # print(f.readline()) # helloworld1
  6.         # print(f.readline()) # readline一次只读文件的一行内容
  7.         # print(f.readlines()) # 一次性读取文件的所有内容,然后每一个内容作为列表的一个元素返回,返回的数据类型是:列表
  8.         print(f.readable()) # able ation un multi ...       
  9. 2. 写系列
  10.         # 写系列
  11.         ### 做后端程序员:最重要的是安全意识
  12.         with open('a.txt', 'w', encoding='utf-8') as f:
  13.         # f.write('jerry say hello ')
  14.         # f.writelines(['hello\n', 'jerry\n', 'kevin\n', 'jason\n'])
  15.         print(f.writable())
  16.         print(f.readable())       
复制代码
文件的读操作的优化
  1. with open('a.txt', 'r', encoding='utf-8') as f:
  2.     # print(f.read()) # 一次性读取文件的所有数据,并且光标在文件的末尾,如果在去读,就读不到了
  3.     # print(f.read())
  4.     # 文件句柄f是支持for循环的
  5.     for line in f:
  6.         # line: 就是文件的一行内容
  7.         print(line)
  8.     # 了解的方法:
  9.     # f.flush()  # 把数据从内存中立刻刷到磁盘
  10.     """
  11.         当你读取的数据比较小的时候,其实是在缓冲区的,当数据量够多的时候,它会一定刷到磁盘
  12.     """
  13. """
  14. 一次性读取文件的所有数据有什么问题:
  15.     当数据比较多的时候,会出现内存溢出,这种情况是坚决不能出现的
  16.     如何优化以上操作:
  17.         一点一点的读取数据然后把数据赶紧刷到硬盘里
  18.         
  19. """
复制代码
文件的操作模式
  1. 1. 文本模式
  2.         t:text
  3.         # r w a =====> rt wt at
  4.         """
  5.                 with open('userinfo.txt', 'r', encoding='utf-8') as f:
  6.                 文本模式默认就是操作字符串,文本
  7.                 特征:
  8.                         1. encoding参数必须指定
  9.                         2. 读取的所有的数据都是以字符串为单位的
  10.                         3. t模式只能够读取文本或者字符模式
  11.         """
  12. 2. 二进制模式
  13.         b模式:binary
  14.     with open('userinfo.txt', 'rb') as f:
  15.     """
  16.             b模式中得b不能省略------------> rb wb ab
  17.             特征:
  18.                     1. encoding='utf-8'参数不能够指定
  19.                     2. 读取的数据全部以字节为单位
  20.                     3. 二进制模式可以读取任意类型的文件
  21.     """
复制代码
来源:https://www.cnblogs.com/zhangfanshixiaobai/p/17677609.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具