#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的更多相关文章

  1. JAVASE02-Unit06: 文件操作——File 、 文件操作—— RandomAccessFile

    Unit06: 文件操作--File . 文件操作-- RandomAccessFile java.io.FileFile的每一个实例是用来表示文件系统中的一个文件或目录 package day06; ...

  2. 第17章 内存映射文件(3)_稀疏文件(Sparse File)

    17.8 稀疏调拨的内存映射文件 17.8.1 稀疏文件简介 (1)稀疏文件(Sparse File):指的是文件中出现大量的0数据,这些数据对我们用处不大,但是却一样的占用空间.NTFS文件系统对此 ...

  3. Java:文件类File的详解

    File类的常用方法: 1.创建     boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false.和输出流不一样,输出流对象一建立创建文件,而 ...

  4. 安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项

    安装SQL2008时遇到"未能加载文件或"file:///d:microsoft..sql.chainer.packagedata.dll"或它的某个依赖项,如下图所示 ...

  5. 关于Android Assets读取文件为File对象

    关于Android Assets读取文件为File对象的问题,在Assets里面放置文件,在使用的时候,一般是使用AssetManger对象,open方法获取InputStream 然后进行其他操作. ...

  6. Android文件(File)操作

    Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...

  7. 【转载】C#工具类:实现文件操作File的工具类

    在应用程序的开发中,文件操作的使用基本上是必不可少的,FileStream类.StreamWriter类.Directory类.DirectoryInfo类等都是文件操作中时常涉及到的类,我们可以通过 ...

  8. 【转】Android必备知识点- Android文件(File)操作

    Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...

  9. 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 ...

随机推荐

  1. CF613B Skills

    CF613B Skills 洛谷评测传送门 题目描述 Lesha plays the recently published new version of the legendary game hack ...

  2. LG3237 「HNOI2014」米特运输 树形DP

    问题描述 LG3237 题解 问题转化为: 要求将这棵树,满足 结点 \(x\) 所有孩子权值相等 结点 \(x\) 权值等于所有孩子权值和 将乘法转化为 \(\log\) 加法 \(\mathrm{ ...

  3. leetcode494. 目标和

    给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面. 返回可以使最终数组和 ...

  4. java jvm虚拟机类加载器

    在Java中任意一个类都是由这个类本身和加载这个类的类加载器来确定这个类在JVM中的唯一性. 类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到J ...

  5. Go 程序编译成 DLL 供 C# 调用。

    Go 程序编译成 DLL 供 C# 调用. C# 结合 Golang 开发   1. 实现方式与语法形式 基本方式:将 Go 程序编译成 DLL 供 C# 调用. 1.1 Go代码 注意:代码中 ex ...

  6. app版本升级的测试点

    移动端版本更新升级是一个比较重要的功能点,主要分为强制更新和非强制更新. 1.强制更新需要测试的点有: 1)强制升级是否可以升级成功 从老版本的包升级到新版版的包是否可以升级成功. 2)升级后的数据是 ...

  7. background-size:100% 100% 和 background-size:cover的区别简述

    下面我通过给下图背景图添加background-size属性的不同属性值,更直观的显示出100%和cover的区别   下图是添加background-size:100% 100% 后的背景图效果,背 ...

  8. 关于VS2017离线安装的一点扩充说明

    转自:https://www.cnblogs.com/dunitian/p/8051985.html 其实逆天不推荐自己慢慢离线,找个离线包更新下再打包更快 Key:http://www.cnblog ...

  9. 【UOJ#386】【UNR#3】鸽子固定器(贪心)

    [UOJ#386][UNR#3]鸽子固定器(贪心) 题面 UOJ 题解 一个不难想到的暴力做法是把东西按照\(s\)排序,这样子我们枚举极大值和极小值,那么我们选择的一定是这一段之间\(v\)最大的那 ...

  10. 端口快速扫描程序(c#版 一次可发起1000个连接)

    前言 为了探测本机或对方开放了哪些端口,需要用到端口扫描程序.扫描端口的原理很简单:就是尝试连接对方:如果成功,对方就开放了此端口.扫描程序的关键是速度,如果一次只能发起几个连接,显然速度太慢.如果对 ...