Python基础【day03】:文件操作(七)
零、本节内容
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】:文件操作(七)的更多相关文章
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- Day3 Python基础学习——文件操作、函数
一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...
- Python基础学习——文件操作、函数
一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...
- python基础之文件操作
对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...
- python基础14_文件操作
文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...
- (Python基础)文件操作
对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 命名为7 years Once I was seven years old my momma t ...
- 【python基础】文件操作
文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...
- python基础4文件操作
在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...
- Python基础 之 文件操作
文件操作 一.路径 文件绝对路径:d:\python.txt 文件相对路径:在IDEA左边的文件夹中 二.编码方式 utf-8 gbk... 三.操作方式 1.只读 r 和 rb 绝对路径的打开操作 ...
- Python基础--基本文件操作
全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...
随机推荐
- win10下安装GLPK
认识GLPK GLPK是一个解决线性规划问题的工具.是GNU计划下一个用于解线性规 划(Linear Programming)的工具包.它可以方便的描述线性规划问题,并给出相应解. 因此在linux系 ...
- 『编程题全队』Beta 阶段冲刺博客五
1.提供当天站立式会议照片一张 2.每个人的工作 (有work item 的ID) (1) 昨天已完成的工作 孙志威: 1.为新建提醒框添加了正则匹配限制 2.添加了新建Reminder的功能 3.初 ...
- Odoo中连接mysql数据库
how to integrate Odoo with MySQL - Stack Overflowhttps://stackoverflow.com/questions/31959919/how-to ...
- Install alipay支付宝安全控件 on firefox in linux
[root@rgqancy 下载]# ./aliedit.sh建议以非root账号安装支付宝安全控件请重启 firefox 使插件生效成功安装 支付宝安全控件请按任意键退出... what i ...
- 【转帖】MYSQL 8.0 忘记密码的简单处理。--init-file
Copy From https://www.cnblogs.com/wangjiming/p/10363357.html mysql 不熟悉 但是感觉语法的确与oracle越来越像了. 感谢原作者 我 ...
- git忽略本地文件
一.忽略文件的常用方法 1.git通常在.gitignore文件进行配置,来忽略本地文件.但是这仅对于重来没有提交过的文件有效. 2.使用git update-index --skip-worktre ...
- 华为5G在印度被禁
前段时间,澳大利亚政府以“担心外国渗透”为由,决定禁止华为为建设新的5G网络提供设备.这让大家不禁猜测,难道华为的5G真的被国外市场禁入了? 对此,华为表达出了极大的失落感,并在一份声明中称,“政府告 ...
- asp.net 后台<%@ Page%> page指令属性
aspx文件有如下一行代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...
- HTML5-表单元素
不是所有的浏览器都支持HTML5新的表单元素,但是可以使用他们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素 datalist 规定输入域的选项列表 //input的list属性值就是dat ...
- mysql Packet for query is too large (2036 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
解决方法: 打开控制台,输入下面语句,执行 set global max_allowed_packet = 20*1024*1024; 网上说要重启 mysql server, 我是执行完后不用重启就 ...