零、本节内容

1、文件常用操作汇总

2、打开文件

3、操作文件

4、关闭文件

一、文件常用操作汇总

二、打开文件

1、普通打开模式

r,英文:read,只读模式(默认)

w,英文:write,只写模式(不可读,不存在则创建新文件,存在则删除内容)

a,英文:append,追加模式(不可读,不存在则创建,存在则只追加内容

2、同时读写模式

r+,可读写文件(可读;可写;可追加,不存在文件则报错)

w+,可写读文件(可读,可写,创建新文件)

a+,可追加和读文件(可读,可追加,不存在则创建)

3、二进制打开模式

1、rb,二进制读

2、wb,二进制写

3、ab,二进制追加

三、操作文件 

文件内容:

1
2
3
4
Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂

1、read()

当read()函数中传入整数(int)参数,则读取相应的字符数,如果不填写,则默认读取所有字符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
f = open("yesterday2",'r',encoding="utf-8")
#默认读取全部字符
print(f.read())
f.close()
#输出
Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂
 
f = open("yesterday2",'r',encoding="utf-8")
#只读取10个字符
print(f.read(10))
f.close()
#输出
Somehow, i

注:只有当文件有读权限时,才可以操作这个函数

2、获取文件句柄所在的指针的位置【tell()】

获取文件句柄所在的指针的位置

1
2
3
4
5
6
7
8
f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#获取指针位置
print(f.tell())
f.close()
#输出
Somehow, i #读取的内容
10 #指针位置

3、设置文件句柄所在的指针位置[seek()]

1
2
3
4
5
6
7
8
9
10
11
12
f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#设置之前的指针位置
print(f.tell())
f.seek(0)
#设置之后的指针位置
print(f.tell())
f.close()
#输出
Somehow, i #读取文件的内容
10 #设置之前的指针位置
0 #设置之后的指针位置

4、打印文件的编码【encoding】

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.encoding)
f.close()
#输出
utf-8

5、fileno()

返回文件句柄在内存中的编号

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.fileno())
f.close()
#输出
3

6、name

返回文件名

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.name)
f.close()
#输出
yesterday2

7、isatty()

判断是否是一个终端设备(比如:打印机之类的)

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.isatty())
f.close()
#输出
False #表示不是一个终端设备

8、seekable()

不是所有的文件都可以移动光标,比如tty文件,可以移动的,返回True

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.seekable())
f.close()
#输出
True

9、readable()

文件是否可读

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.readable())
f.close()
#输出
True

10、writeable()

文件是否可写

1
2
3
4
5
f = open("yesterday2",'r',encoding="utf-8")
print(f.writable())
f.close()
#输出
False #文件不可写

11、flush()

写数据时,写的数据不想存内存中缓存中,而是直接存到磁盘上,需要强制刷新

1
2
3
4
5
6
>>> f = open("yesterday2","w",encoding="utf-8")
#这时'hello word'在缓存中
>>> f.write("hello word")
10
#强刷到磁盘上
>>> f.flush()

这个怎么实验呢?在cmd命令行中,cd到你文件所在的路径下,然后输入python,在Python命令行中输入上面代码

①cd d:\PycharmProjects\pyhomework\day3下(因为我的被测文件在这个文件夹下)

②在这个目录下输入Python命令行,然后进行测试

③强制刷新之前

④执行强刷命令之后

⑤强刷后文件中的内容变化

注:以写的模式打开文件,写完一行,默认它是写到硬盘上去的,但是其实它不一定写到硬盘上去了。当你刚写完一行,如果此时断电,有可能,你这行就没有写进去,因为这一样还在内存的缓存中(内存中的缓存机制),所以你有不想存缓存,所以就要强制刷新。那一般在什么情况下用呐?比如:存钱

12、closed

判断文件是否关闭

1
2
3
4
5
f = open("yesterday2","r",encoding="utf-8")
f.read()
print(f.closed)
#输出
False

13、truncate(截取字符的数)

截取文件中的字符串,打开文件模式一定是追加模式(a),不能是写(w)和读(r)模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#没有指针
f = open("yesterday2","a",encoding="utf-8")
f.truncate(10)
f.close()
#截取结果
Somehow, i
 
#有指针
f = open("yesterday2","a",encoding="utf-8")
f.seek(5)
f.truncate(10)
f.close()
#截取结果
Somehow, i

说明truncate截取文件中的字段,并不受指针(seek)所在位置影响。

14、write()

写入文件内容

1
2
3
f = open("yesterday2","w",encoding="utf-8")
f.write("Somehow, it seems the love I knew was always the most destructive kind")
f.close()

注:写功能只有当打开文件模式是写(w)或者追加(a)才可操作。

四、关闭文件

Python基础【day03】:文件操作(七)的更多相关文章

  1. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  2. Day3 Python基础学习——文件操作、函数

    一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...

  3. Python基础学习——文件操作、函数

    一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...

  4. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  5. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  6. (Python基础)文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 命名为7 years Once I was seven years old my momma t ...

  7. 【python基础】文件操作

    文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...

  8. python基础4文件操作

    在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...

  9. Python基础 之 文件操作

    文件操作 一.路径 文件绝对路径:d:\python.txt 文件相对路径:在IDEA左边的文件夹中 二.编码方式 utf-8 gbk... 三.操作方式 1.只读 r 和 rb 绝对路径的打开操作 ...

  10. Python基础--基本文件操作

    全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...

随机推荐

  1. 第二个spring,第一天

    陈志棚:成绩的统筹 李天麟:界面音乐 徐侃:代码算法 由于队友们都回家了,只有我在努力的写代码...

  2. SQL Server 2016以上版本大小写敏感的解决办法

    alter database IovData set Single_user alter database IovData COLLATE Chinese_PRC_CI_AS alter databa ...

  3. Java面向对象(Eclipse高级、类与接口作为参数返回值)

      面向对象 今日内容介绍 u Eclipse常用快捷键操作 u Eclipse文档注释导出帮助文档 u Eclipse项目的jar包导出与使用jar包 u 不同修饰符混合使用细节 u 辨析何时定义变 ...

  4. [CNBETA]Intel CPU底层漏洞事件完全详解:全球手机/电脑无一幸免[转帖]

    http://www.cnbeta.com/articles/tech/685897.htm 由Intel CPU漏洞问题衍生出来的安全事件已经波及全球几乎所有的手机.电脑.云计算产品,ARM确认 C ...

  5. Qt__QWidget::update()与Qwidget::repaint()的区别

    QT事件的产生 1.操作系统产生 操作系统将获取的事件,比如鼠标按键,键盘按键等keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEv ...

  6. [转] python 模块学习 hashlib

    转自: http://www.cnblogs.com/BeginMan/p/3328172.html 一.hashlib概述 涉及加密服务:14. Cryptographic Services 其中 ...

  7. delphi 的 LockType 锁类型

    LockType     锁类型       常数                                         值                           说明     ...

  8. Gulp实现静态网页模块化的方法详解

    前言: 在做纯静态页面开发的过程中,难免会遇到一些的尴尬问题.比如:整套代码有50个页面,其中有40个页面顶部和底部模块相同.那么同样的两段代码我们复制了40遍(最难受的方法).然后,这个问题就这样解 ...

  9. entity framework 缓存干扰的数据不一致问题

    本来EF的设计上DbContext就应该是一个短暂存在的对象,所以它默认才开了缓存和自动检测对象修改之类的功能,而且不是线程安全的.理想的生命周期应该是处理一次请求使用一个context,全局使用会带 ...

  10. BZOJ3750[POI2015]Pieczęć——链表

    题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色. 你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求: ...