文件处理file handling
#1. 打开文件,得到文件句柄并赋值给一个变量
#2. 通过句柄对文件进行操作
#3. 关闭文件
#1、open函数打开文件,open找的是系统的编码gbk
f = open("陈粒",encoding="utf-8") #打开文件指定编码
data = f.read() #读的模式
print(data)
f.close() #关闭文件
f = open("xxx")
data = f.read()
print(data)
f.close()
#2、r是读的方式,readable是判断是否可读
f = open("陈粒","r",encoding="utf-8")
print(f.readable()) #
#3、readline默认一次读取一行
f = open("陈粒",encoding="utf-8")
print("第一行",f.readline(),end="")
print("第二行",f.readline(),end="")
print("第三行",f.readline(),end="")
print("第四行",f.readline(),end="")
print("第五行",f.readline(),end="")
print("第六行",f.readline(),end="")
print("第七行",f.readline(),end="")
f.close()
print("读的模式已结束")
#4、写模式只能写不能读、读模式只能读不能写
#5、w模式是把文件内容清空掉再执行操作如果文件不存在的话再重新新建一个文件
f = open("陈粒1","w",encoding="utf-8")
f.write("11111\n")
f.write("22222\n")
f.write("33333\n")
f.write("44444\n") #\n回车加换行
f.writelines(["555\n","666\n"])
f.close()
print("写的模式已结束")
#6、writable判断是否可写
#7、writelines写入行
#8、追加模式用a
f = open("陈粒1","a",encoding="utf-8")
f.write("写到最后")
f.close()
print("追加模式已结束了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了了")
#9、r+读写模式
f = open("xxx","r+",encoding="utf-8")
data = f.read()
print(data)
f.write("123")
f.close()
#10、r读的方式打开文件,w写的方式到新文件
src_f = open("xxx","r",encoding= "utf-8")
data = src_f.readlines()
src_f.close()
print(data)
dst_f = open("xxx_new","w",encoding="utf-8")
dst_f.write(data[0])
dst_f.close()
#11、with用法一:
with open("a.txt","w") as f:
f.write("1111\n")
#12、with用法二:
# src_f = open("xxx","r",encoding="utf-8")
# dst_f = open("xxx","w",encoding="utf-8")
with open("xxx","r",encoding="utf-8") as src_f,\
open("xxx_new","w",encoding="utf-8") as dst_f:
data = src_f.read()
dst_f.write(data)
#13、
l = [1,2,3,4,5]
print(list(map(str,l)))
#14、
from functools import reduce
l = [1,2,3,4,5]
print(reduce(lambda x,y : x + y,l,3))
#15、过滤下划线_xx的元素
name = ["zd_xx","zs"]
a = filter(lambda x:not x.endswith("_xx"),name)
print(list(a))
#16、map函数是对每个元素处理返回同等元素,filter函数是过滤每个元素返回过滤的结果,reduce函数是对很多个元素处理返回一个元素
#17、r模式读、a模式追加、w模式覆盖并追加
#18、b方式以字节的方式操作
#f = open("test11.py","rb",encoding="utf-8")
f = open("test11.py","rb")
data = f.read()
print(data) #结果是字节形式
print(data.decode("utf-8"))# 把二进制转成字符串形式
#19、windows平台中\r\n是回车的意思,Linux平台中回车是\n
#20、"字符串"----------------encode-------------》bytes
#21、"bytes"----------------decode-------------》字符串
#22、wb是二进制方式
#23、把字符串转换成bytes类型
x ="hello"
print(bytes(x,encoding="utf-8"))
#24、把字符串转换成二进制是编码的过程
a = "张达".encode("utf-8")
print(a)
#25、closed判断文件状态是否关闭
f = open("a.txt","w")
print(f.closed)
#26、encoding取自文件打开的编码
print(f.encoding)
#27、cp936是gbk的
#28、latin-1拉丁编码
f = open("a.txt","r+",encoding="utf-8")
print(f.readlines())
print("结束了")
#29、flush刷新
#30、tell光标读取
print(f.tell())
f.readline()
print(f.tell())
#31、seek控制光标移动
#32、
f.seek(3)
print(f.read())
#33、truncate截断
print("上面的已结束")
#34、
f = open("seek.txt","r",encoding="utf-8")
print(f.tell())
f.seek(10)
print(f.tell())
f.seek(3)
print(f.tell())
文件处理file handling的更多相关文章
- JAVASE02-Unit06: 文件操作——File 、 文件操作—— RandomAccessFile
Unit06: 文件操作--File . 文件操作-- RandomAccessFile java.io.FileFile的每一个实例是用来表示文件系统中的一个文件或目录 package day06; ...
- 第17章 内存映射文件(3)_稀疏文件(Sparse File)
17.8 稀疏调拨的内存映射文件 17.8.1 稀疏文件简介 (1)稀疏文件(Sparse File):指的是文件中出现大量的0数据,这些数据对我们用处不大,但是却一样的占用空间.NTFS文件系统对此 ...
- Java:文件类File的详解
File类的常用方法: 1.创建 boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false.和输出流不一样,输出流对象一建立创建文件,而 ...
- 安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项
安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项,如下图所示 ...
- 关于Android Assets读取文件为File对象
关于Android Assets读取文件为File对象的问题,在Assets里面放置文件,在使用的时候,一般是使用AssetManger对象,open方法获取InputStream 然后进行其他操作. ...
- Android文件(File)操作
Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...
- 【转载】C#工具类:实现文件操作File的工具类
在应用程序的开发中,文件操作的使用基本上是必不可少的,FileStream类.StreamWriter类.Directory类.DirectoryInfo类等都是文件操作中时常涉及到的类,我们可以通过 ...
- 【转】Android必备知识点- Android文件(File)操作
Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...
- c#中@标志的作用 C#通过序列化实现深表复制 细说并发编程-TPL 大数据量下DataTable To List效率对比 【转载】C#工具类:实现文件操作File的工具类 异步多线程 Async .net 多线程 Thread ThreadPool Task .Net 反射学习
c#中@标志的作用 参考微软官方文档-特殊字符@,地址 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/toke ...
随机推荐
- UE4中使用RenderDoc截帧
RenderDoc(src,doc,ue4 doc,ue4文档)是一个独立的开源图形调试器,通过采集和检查GPU上运行的单个帧,来定位图形bug和优化性能 RenderDoc支持任何在Win7.Win ...
- zlib压缩相关
相关原理 deflate(RFC1951):一种压缩算法,使用LZ77和哈弗曼进行编码: zlib(RFC1950):一种格式,是对deflate进行了简单的封装,他也是一个实现库(delphi中有z ...
- Element-ui上传图片按顺序展示
背景 不知道你上传图片的时候有没有过这样的情况,批量上传多张图片,可能因为图片大小或者网络问题,导致图片返回的顺序和上传时的顺序不一样.因为我们公司是做电商的,即使我们的支持拖动排序,运营还是希望图片 ...
- LeetCode 19:删除链表的倒数第N个节点 Remove Nth Node From End of List
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. Given a linked list, remove the n-th node from the end of list and ...
- python asyncio wait和gather
1. wait, 等待某某执行完成以后才执行下一步 FIRST_COMPLETED = concurrent.futures.FIRST_COMPLETED FIRST_EXCEPTION = con ...
- react 练习参考
项目地址:https://gitee.com/dhclly/icedog.react React 练习项目 相关资源链接 React官方 https://reactjs.org React 中国 ht ...
- asp.net core系列 62 CQRS架构下Equinox开源项目分析
一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQRS架构.再讲CQRS架构时,先简述下DDD ...
- 分布式中session共享的解决方案:spring-session
Session是客户端与服务器通讯会话跟踪技术,是服务器与客户端保持整个通讯的会话基本信息.客户端在第一次访问服务器的时候,服务端会响应一个sessionId并且将它存入到本地的Cookie中,在之后 ...
- Beats Elastic中的Auditbeat使用介绍
Auditbeat使用介绍 Auditbeat是一种轻量级的数据收集器,您可以将其安装在服务器上,以审核系统上用户和进程的活动. 例如,您可以使用Auditbeat从Linux Audit Frame ...
- kali渗透综合靶机(五)--zico2靶机
kali渗透综合靶机(五)--zico2靶机 靶机地址:https://www.vulnhub.com/series/zico2,137/#modal210download 一.主机发现 1.netd ...