【文件的读模式】

           文件的对象:文件的读写通过文件操作对象进行。

Python2  -----  File

Python3  -----  TextIOWrapper

           文件的打开:

内置函数open(file,mode)   ---  打开文件,获取文件操作对象。

一定要有file文件路径(路径、文件名、文件格式)  否则报错。

fo = open(fileDir)   -----  只读

           路径的写法:①绝对路径 ----- 从根目录开始的

②相对路径 ------ ./当前位置    ../ 上一级

fileDir = 'C:/test.txt'

fileDir = 'C:\\test.txt'

fileDir = r'C:\test.txt'  ---  取消转义

            读模式:如果该文件不存在会报错!

fo = open(dileDir, 'r')   <==>  fo = open(fileDir)

fo.tell()   -------------- 从0开始    显示指针位置

fo.read(2)  ------------ 读2个字符

fo.read() -------------- 读全部内容

文件中的换行是2个长度  \n     'a\nb'  -----  字符串中是一个

fo.close()  --- 关闭文件

移动文件指针位置:seek()

0模式: --- 绝对位置模式  fo.seek(1,0)   从0开始  一般像txt、log        r

前提:python3 一定在'rb'模式下 ---- 二进制模式 --- 非文本文件(图片)

1模式:当前位置开始移动  fo.seek(移动的位数,模式1)  -----  如:fo.seek(-1, 1)        rb

移动的位数 正数:向后移  负数:向前移

2模式:  ---从尾部位置开始   fo.seek(-1,2)          rb

移动的位数  正数:向后移  负数:向前移

代码例子:

fileDir = 'C:/test.txt'

fo = open(fileDir, 'rb')     # 打开文件

print('读前',fo.tell())     # 显示指针当前位置

print(fo.read(2))            # 读2个字符

print('读后',fo.tell())    # 再次显示指针当前位置

fo.seek(2,2)                 # 移动向后移动两位

print(‘移动后’,fo.tell())  # 再一次显示指针当前位置

 readline:  读取一行

1 - 该方法返回是print(type(fo.readline())) --- <class 'str'>

2 - 文件指针会做相应的偏移

readlines:读取所有行

1 - 该方法返回的是print(type(fo.readlines())) --- <class 'list'>

区别:① fo.read()   -------- 返回str

② fo.readlines() -------- 返回是list

2 - fo.read().splitlines()  --- 返回list  而且去掉换行符

=================================================================================

【文件写模式】:

                      写模式特点:可以新建文件,若文件不存在则会创建一个新文件;

如果写模式打开一个文件,所有的内容会被清空。

1 - fo = open(fileDir, 'w')

2 - 如果该路径下的文件存在 --- 会清空

3 - 如果该路径下的文件不存在 ---- 会新建

4 - 在pycharm里面,你执行了fo.write('123') ----- 可以直接写进去

5 - fo.write('123') --- 返回值  ---- 写的字符长度

6 - fo.flush()  强行写入文件

7 - fo.close()   关闭文件会强行写入文件

追加模式 a:只是为了在文件末尾追加内容而打开文件

with open方式:

1 - with open(fileDir) as rFile:    ------等价于---------   rF = open(fileDir)

2 - 可以省略fo.close()

3 - 操作多个文件

seek: 1 - (1,模式) ---  0模式 ---- 绝对位置,从0开始

2 - (1,模式) --- 1模式 ---- 当前位置,开始

3 - (1,模式) --- 2模式 ---- 尾部位置,开始

例子:

fileDir2 = open('C:/text.txt', 'w')

fileDir2.write('123456')   # 一定是str

# 如果写入时,需要换行时,应该怎么做?

fileDir2.write('01-test'+'\n')

fileDir2.write('02-test')

fileDir2.flush()    # 写入

fileDir2.close()   # 关闭  同样也会保存

最新文章

  1. SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]
  2. Mybatis分页插件 - PageHelper
  3. qt-5.6.0 移植之tslib 配置及编译
  4. CSS3 -web-box-shadow实现阴影效果
  5. kafka集群zookeeper集群详细配置
  6. 使用Httpclient来替代客户端的jsonp跨域解决方案
  7. [leetCode][001] Maximum Product Subarray
  8. JFinalo操作框架racle数据库
  9. Python编写相关注意事项
  10. pythonchallenge学到的python内置函数整理
  11. linux中的strings命令简介2
  12. 一文让你从此告别HTTP乱码(二)Response篇
  13. 2.bootstrap-全局css
  14. MongoDB 分片键的选择与案例
  15. 【Apache Kafka】Kafka学习笔记
  16. Social Grouping for Multi-Target Tracking and Head Pose Estimation in Video(翻译)
  17. Android stdio 报错 error invoking main method
  18. 转:深入理解Java G1垃圾收集器
  19. Cocos Creator实现的《点我+1》
  20. Page结构

热门文章

  1. Linux(ubuntu)下切换root用户
  2. 【java】关于Cannot refer to the non-final local variable list defined in an enclosing scope解决方法
  3. App稳定性测试Monkey
  4. three.js使用gpu选取物体并计算交点位置
  5. 小白学 Python 爬虫(4):前置准备(三)Docker基础入门
  6. PHP中echo与print语句的实例教程
  7. 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)概念介绍
  8. 影响ES相关度算分的因素
  9. 小白学 Python 爬虫(10):Session 和 Cookies
  10. 以传参的方式执行shell(模板)