day3 文件操作
文件操作是在内存中进行操作的,因为文件是存储在内存中的.
open函数,该函数用于文件处理:
操作文件时,一般需要经历如下步骤:
(1)打开文件;
(2)操作文件
一、打开文件
文件句柄 = open("文件路径","模式")
打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。
打开文件的模式有:
(1)r,只读模式(默认);
(2)w,只写模式。【不可读;不存在则创建;存在则删除内容;】
(3)a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
(1)r+,可读写文件。【可读;可写;可追加】;
(2)w+,写读;
(3)a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
(1)ru
(2)r+u
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
(1)rb (2)wb (3)ab
二、操作
1.def close(self, *args, **kwargs):
# real signature unknown 关闭文件
pass
2.def fileno(self, *args, **kwargs):
# real signature unknown 文件描述符
pass
3.def flush(self, *args, **kwargs):
# real signature unknown 刷新文件内部缓冲区
pass
4.def isatty(self, *args, **kwargs):
# real signature unknown 判断文件是否是同意tty设备
pass
5.def read(self, *args, **kwargs):
# real signature unknown 读取指定字符的数据
pass
打开一个文件,read()是按照字符来进行读取的。读取文件的信息,每次读取多少字符。
f = open("file","r",encoding="utf-8")
#f.write("耿ad56465645")
print(f.read(2))
f.close()
运行结果如下:
耿a
6.def readable(self, *args, **kwargs):
# real signature unknown 是否可读
pass
7.def readline(self, *args, **kwargs):
# real signature unknown 仅读取一行数据
pass
f = open("file","r",encoding="utf-8")
ret = f.readline()
print(ret)
f.close()
readline()是读取文件的第一行,仅读取文件的第一行,并且形成一个字符串。
"""
耿ad56465645
长123666
张dadaebdadojou
"""
运行结果如下:
耿ad56465645
8.def seek(self, *args, **kwargs):
# real signature unknown 指定文件中指针位置
pass
与tell()经常一起使用,放置文件指针,告诉文件从哪里进行读取。
f = open("file","r",encoding="utf-8")
f.seek(3)
print(f.read(3))
#print(f.tell())
f.close()
seek()是按指针放置文件读取的位置,按照字节进行放置。tell()看文件读取到那里。
9.def seekable(self, *args, **kwargs):
# real signature unknown 指针是否可操作
pass
10.def tell(self, *args, **kwargs):
# real signature unknown
获取指针位置
pass
11.def truncate(self, *args, **kwargs):
# real signature unknown 截断数据,仅保留指定之前数据
pass
我们知道,打开文件之后,我们使用seek()放置指针位置,read()读取指针后面的内容,而truncate()是截取指针之前的文件内容。
12.def writable(self, *args, **kwargs):
# real signature unknown 是否可写
pass
13.def write(self, *args, **kwargs):
# real signature unknown
写内容
pass
14.def readlines(self, size=None): # real signature unknown; restored from __doc__
读取所有数据,并根据换行保存值列表 """
day3 文件操作的更多相关文章
- Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...
- Day3 文件操作和函数
一 文件操作 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.1打开文件读取内容 print(open("sounds","r", ...
- python3.x Day3 文件操作
文件操作:操作文件实际是4步骤1.描述文件是哪个 2.打开文件 3.操作文件 4.关闭文件 1.打开文件使用open方法,代码举例: data=open("wait_you",en ...
- 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...
- Python——Day3知识点——文件操作
一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ...
- Day3 Python基础学习——文件操作、函数
一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...
- Python-字典、集合、字符编码、文件操作整理-Day3
1.字典 1.1.为什么有字典: 有个需求,存所有人的信息 这时候列表就不能轻易的表示完全names = ['stone','liang'] 1.2.元组: 定义符号()t = (1,2,3)tupl ...
- day3之文件操作
一,文件操作基本流程. # 1.打开文件,产生文件句柄 # 2.操作文件句柄 # 3.关闭文件句柄 # f1 = open('11.txt',encoding='utf-8', mode='r') # ...
- Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...
随机推荐
- 简单的并发服务器(多个线程各自accept)
基于之前讲述的简单循环服务器,做一个多个线程各自accept的服务器demo 由于多个线程各自accept,容易造成数据错误,需要在accept前后枷锁 先看下客户端 客户端创建socket,初始化服 ...
- P1801 黑匣子_NOI导刊2010提高(06)
P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...
- 驱动学习5: zynq实现点亮led
驱动代码: #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #i ...
- checkbox选择根据后台List数据进行回显
需求:记住用户已经选择的 checkbox 选项,当用户再次对该 checkbox 进行选择操作时,应对该用户已经选择的 checkbox 选项进行选中操作. 示例代码: checkbox,js遍历后 ...
- WebAPI IE8、IE9 跨域问题
关于WebAPI跨域的问题,网上已经很多了,以下方案可以解决很多跨域问题,但是都不支持IE8.IE9浏览器,JSONP也只能支持Get请求 通过dll配置 Install-Package Micros ...
- 2.redis设计与实现--链表
1.链表节点: 2.链表: 3.总结
- Python学习笔记(四十)— 内置模块(9)HTMLParser
摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432002312 ...
- JVM调优总结(3):垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断.垃圾回收程序收集计数为0的对象即可.但是这种方法无法解决循环引用.所以,后来实现的垃圾判断算法中,都是从程序运行 ...
- 你知道吗?Java开发的10位牛人
James Gosling 1983年,Gosling获得了加州大学的计算机科学学士学位.1990年,他获得了卡内基梅隆大学的计算机科学博士学位,师从Bob Sproull.在攻读博士期间,他自己开发 ...
- new Date('2014/04/30') 和 new Date('2014-04-30') 的区别
new Date('2014/04/30') Wed Apr 30 2014 00:00:00 GMT+0800 (中国标准时间) new Date('2014-04-30'); Wed Apr 30 ...