【文件的读模式】

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

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()   # 关闭  同样也会保存

笔记||Python3之文件的读写的更多相关文章

  1. Python3:文件读写

    Python3:文件读写 open f = open('filename','r') # 读模式 f = open('filename','w') # 写模式 f = open('filename', ...

  2. python3的文件读写模式

    任何一种语言,文件的读写都是非常常见的.python的文件读写非常简单,仅仅一个函数open(file也可以,但是我不常用). 先看看官网的解释: open(file, mode='r', buffe ...

  3. python3文件的读写操作

    open函数:对文件进行读写操作前,先打开文件,获取文件的句柄: open(file, mode, encoding, buffering) 参数说明 file_name:一个包含了你要访问的文件路径 ...

  4. 吴裕雄--天生自然python学习笔记:Python3 File(文件) 方法

    open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...

  5. python3:文件读写+with open as语句(转)

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  6. Linux实战教学笔记08:Linux 文件的属性(下半部分)

    第八节 Linux 文件的属性(下半部分) 标签(空格分隔): Linux教学笔记 ---更多相关资料请点我查看 第1章 链接的概念 在linux系统中,链接可分为两种:一种为硬链接(Hard Lin ...

  7. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  8. C# 之三类文件的读写( .XML,.INI 和 .TXT 文件)

    笔记之用,关于三类.xml, .ini, .txt 文件的 C# 读写,请多多指教! 1,第一类:.xml 文件的读写 先贴上xml文件,下面对这个文件进行操作: <?xml version=& ...

  9. 内核模块中filp->open对文件的读写【转】

    转自:http://guiltcool.blog.chinaunix.net/uid-9950859-id-98917.html 平时网络部分的东西碰的多些,这块一开始还真不知道怎么写,因为肯定和在用 ...

随机推荐

  1. 为什么Python类语法应该不同?

    做过python的人你会发现想要的东西跟它原有的是不同的.Python对我来说是真的是这样.如果可以的话,对于Python中很多的我想要改的东西,我有很多的想法.现在我向您讲述其中一个:类定义的语法. ...

  2. SQL Server 2014:在修改表的内容时,提示“此单元格已更改,尚未将更改提交到数据库”,怎么处理?

    那一行上的属性为“不允许为null”的所有字段都填上对应信息,按回车键或者点击下一行任意一个单元格便会自动将更改的信息提交到数据库.

  3. jeson navo

    QT TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt INCLUDEPATH += /usr/loca ...

  4. Bootstrap中手指控制轮播图切换

    通过手指的滑动来控制轮播图中的图片内容的切换 // 1. 获取手指在轮播图元素上的一个滑动方向(左右) // 获取界面上的轮播图容器 var $carousels = $('.carousel'); ...

  5. 在ensp上利用三层交换机实现VLAN间路由

    我们在实际生活中经常要跨vlan进行通信,我们的解决办法有单臂路由,但是单臂路由存在很大的局限性,带宽,转发效率等,所以单臂路由用的就有点少,所以就有了本章节 三层交换机在原有的二层交换机的基础上,增 ...

  6. HTML建立超链接

      链接是HTML文档的最基本特征之一.超文本链接英文名为hyperlink,它能够让浏览器在各个独立的页面之间方便地跳转.超链接有外部链接.电子邮件链接.锚点链接等. a标签   网页中<a& ...

  7. ubuntu 16.04安装并启动openssh

    对于没有图形界面的linux系统,一般都会用到远程连接控制,,因此新安装的linux系统,在配好网络后,首先要安装的就是远程连接工具,ssh是常用的方法. ps -ef |grep ssh  //查看 ...

  8. 程序员用于机器学习编程的Python 数据处理库 pandas 入门教程

    入门介绍 pandas适合于许多不同类型的数据,包括: · 具有异构类型列的表格数据,例如SQL表格或Excel数据 · 有序和无序(不一定是固定频率)时间序列数据. · 具有行列标签的任意矩阵数据( ...

  9. Paramiko的SSH和SFTP使用

    目录 1. 概述 2. Paramiko的基本使用 2.1 SSHClient关键参数介绍 2.2 SSHClient常用示例 2.2.1 通过用户名和密码方式登陆: 2.2.2 通过用户名和密码方式 ...

  10. mui开发:苹果手机自动全屏解决方案

    前一段时间,使用mui写app时,出现了苹果手机播放视频时,自动全屏的情况,并且无法点击控件,只能等到播放完毕后点击控件. 那么怎么解决这个问题呢,弟弟们请看我的下面. 1.在页面的video标签中, ...