1. #!/usr/local/bin/python3
  2. # -*- coding:utf-8 -*-
  3.  
  4. f=open("test_1",'r',encoding="utf-8") #'r'代表读文件
  5. '''
  6. #----------读文件----------
  7. print(f.tell()) #tell计数按照字符来计数
  8. print(f.read(5)) #读前5个字符,注意此时文件指针已经到第5个
  9. print(f.tell())
  10. data=f.readline() #读取下一行
  11. print(data)
  12. print(f.tell())
  13. f.seek(10) #文件指针指向指定的值(即第几个字符)
  14. print(f.readline())
  15. print(f.tell())
  16.  
  17. #----------刷新---------- #装逼方法
  18. import sys,time
  19. for i in range(20):
  20. sys.stdout.write("#")
  21. sys.stdout.flush()
  22. time.sleep(0.1)
  23.  
  24. #----------写文件----------
  25. f1=open("test_2",'w',encoding="utf-8")#'w'代表写文件
  26. f1.write("hello") # 注:若test_2文件已存在,那么调用f2.write()方法会将test_2文件中的内容覆盖掉
  27. #但 若test_2文件不存在,那么write()方法会创建一个新文件
  28.  
  29. f2=open("test_2",'a',encoding="utf-8") #f2是文件句柄,'a'代表append,即追加且不覆盖原文件内容,但不可读
  30. # 'a+'代表追加读写,即追加且不覆盖源文件内容,可读
  31. f2.write("我爱北京天安门...\n")
  32. f2.write("天安门上太阳升\n")
  33.  
  34. #----------读取文件指定行数---------
  35. for i in range(5): #读取文件前5行
  36. print(f.readline()) #readline():读取文件的下一行
  37.  
  38. #----------遍历文件----------
  39. #---low的写法---
  40. for index,line in enumerate(f.readlines()): #f.readlines():将文件的每行作为一个元素,存入列表中
  41. # 注:readlines()只适合读小文件,因为需要将文件作为一个列表放到
  42. # 内存中
  43. if index==9: #enumerate:将行标取出
  44. print("---------------")
  45. print(line.strip()) #去除列表元素中的空格以及换行
  46.  
  47. #---高大上的写法---
  48. count=0
  49. for line in f:
  50. print(line.strip())
  51. count+=1
  52. if count==9:
  53. print("---------")
  54.  
  55. #----------截断----------
  56. f3=open("test_1",'a',encoding="utf-8")#'w'代表写文件
  57. #f2.truncate(10) #从文件的第十个字符开始截断(一个空格算一个字符),后面的内容全部消失
  58. #---指定截断(以下方法不可行)---
  59. f3.seek(10) #将文件指针指向第十个字符
  60. f3.truncate(20) #期望从第十个字符开始截断,这样会保留前三十个字符
  61. #但实际 文件指针 对truncate()方法不起作用,该方法仍旧是从头开始计数
  62.  
  63. #----------读写----------
  64. f4=open("test_1",'r+',encoding="utf-8") #'r+'代表读写文件
  65. print(f4.readline().strip())
  66. print(f4.readline().strip())
  67. print(f4.readline().strip())
  68. print(f4.tell())
  69. f4.write("-----------------------")
  70. print(f4.readline().strip()) #注:虽然期望将内容写入第四行,但运行后发现插入位置随机
  71. #但其实事实就是这样的
  72.  
  73. #----------写读1----------
  74. f5=open("test_1",'w+',encoding="utf-8") #'w+'代表写读文件
  75. print(f5.readline().strip())
  76. print(f5.readline().strip())
  77. print(f5.readline().strip())
  78. print(f5.tell())
  79. f5.write("-----------------------")
  80. print(f5.readline().strip()) #注:期望将内容写入第四行,但运行后发现原文件中内容被新写入的内容
  81. #覆盖了
  82. #----------写读2----------
  83. f6=open("test_1",'w+',encoding="utf-8") # 期望先写入四行,然后将文件指针退回到第十个字符上,然后打印下一行的内容
  84. #并在此时写入最后一行,但实际运行发现:我们所期望写入的位置并没有新的内容
  85. #新内容被写在了最后一行
  86. f6.write("-----------1------------\n")
  87. f6.write("-----------2------------\n")
  88. f6.write("-----------3------------\n")
  89. f6.write("-----------4------------\n")
  90. print(f6.tell())
  91. f6.seek(10)
  92. print(f6.readline())
  93. f6.write("----------hello---------\n")
  94. f6.close()
  95.  
  96. #----------二进制读文件----------
  97. f7=open("test_1",'rb') #'rb'代表二进制读文件 注:此时后面encoding不能是"utf-8"
  98. print(f7.readline())
  99.  
  100. #----------二进制写文件----------
  101. f8=open("test_1",'wb') #'wb'代表二进制写文件 注:此时后面encoding不能是"utf-8"
  102. f8.write("hello world\n".encode()) #注:encode ()中不指定具体的字符集,则以'utf-8'为默认
  103. f8.close()
  104. '''

  

python中的文件操作小结1的更多相关文章

  1. python中的文件操作小结2

    ''' #-----------文件修改---------- f=open("test_1",'r',encoding="utf-8") f2=open(&qu ...

  2. 关于Python中的文件操作(转)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  3. python学习之【第十一篇】:Python中的文件操作

    1.前言 在Python中,对文件的操作主要遵循以下流程: 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 2.打开文件 使用open函数,可以打开一个已经存在的文件,或 ...

  4. 【Python】解析Python中的文件操作

    目录结构: contents structure [-] 简介 Python中的文件类型 内置函数的文件操作 open()函数 Mode 创建文本文件 读取文本文件 循环文件对象 关闭文件 With语 ...

  5. 说说Python 中的文件操作 和 目录操作

    我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfi ...

  6. 2018.8.6 Python中的文件操作

    前言: 使用python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄.然后通过文件句柄就可以进行各种操作了,根据打开方式的不同能够执行的操作也会有相应的差异. 打 ...

  7. Python 中关于文件操作的注意事项

    文件操作 #打开文件 f = open('要打开的文件路径',mode = 'r/w/a', encoding = '文件原来写入时的编码') #操作 data = f.read() #读取 f.wr ...

  8. [19/10/16-星期四] Python中的文件操作

    一.打开文件 # open(file, mode='r', buffering=-1, encoding_=None, errors=None, newline=None, closefd=True, ...

  9. python中的文件操作

    文件操作时,有'r','w','a'不同的操作类型,其中'r'只能读文件,seek(),tell()函数定位读的起始地方.'w'会清空文件内容然后写文件,seek(),tell()函数定位写的起始地方 ...

随机推荐

  1. Python 连接Sql Server数据库 MSSql

    Python 想要和MSSql数据库进行交互,首先要下载名为"pymssql"的包,然后import该包即可. 地址:https://pypi.python.org/pypi/py ...

  2. 网站架构:消息队列 Java后端架构

    2017-01-13  一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间 ...

  3. Python函数(2)

    一.函数对象 函数是第一类对象:指的是函数名指向的值可以被当作数据去使用. 1.函数可以被引用 例如: 2.可以当作参数传递给另一个函数 例如: 3.可以当作一个函数的返回值 例如: 4.可以当作容器 ...

  4. [持续更新] Linux基础的重要命令

    命令总结:100个左右 mkdir 方法一 [root@localhost ~]# mkdir /test && ls -ld /test 方法二 [root@localhost ~] ...

  5. SVN中建立项目

    下午建个svn的时候,出错,有个东西配置错了,晚上google看到一篇文章,觉得作者写的不错,而且很用心,转来共享. [转至]5分钟快速建立项目版本控制 – Face Code,Brain bloom ...

  6. Tomcat启动报Error listenerStart错误 | "beans" 必须匹配 DOCTYPE 根 "null" | java.lang.reflect.MalformedParameterizedTypeException

    maven打包发布工程时,发布上去却报错FAIL - Deployed application at context path /ch but context failed to start 在服务器 ...

  7. 我的java开发规范

    关于文件的命名参考阮一峰的这篇文章:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html,文中说文件名全部使 ...

  8. Spring+SpringMVC+Mybatis+Shiro环境搭建之IDEA下搭建Maven项目

    运行IntelliJ IDEA 2016.3.2(64)编译器新建项目   在弹出的窗体中选择maven,然后勾选要建的maven模板--这里选webApp 然后填入相应的maven项目组信息(Gro ...

  9. check_mk 之 Check Parameters

    配置检测参数有几下方法 1. Creating manual checks instead of inventorized checks (using the variable checks). 2. ...

  10. 支持多域名的免费SSL证书

    知乎网友称其支持多域名: https://www.zhihu.com/question/19578422 配置教程: https://www.cnblogs.com/duanweishi/p/8483 ...