#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. OpenDaylight开发hello-world项目之开发环境搭建

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  2. TypeScript vs. C#: LINQ

    TypeScript vs. C#: LINQ TypeScript 没有等效于 LINQ 的语言集成自然查询方面?不能在 TypeScript 中写入以下 LINQ 语句 1 var adultUs ...

  3. 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了

    1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...

  4. Jvisualvm简单使用教程

    本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1.拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\ ...

  5. axios 源码解析(下) 拦截器的详解

    axios的除了初始化配置外,其它有用的应该就是拦截器了,拦截器分为请求拦截器和响应拦截器两种: 请求拦截器    ;在请求发送前进行一些操作,例如在每个请求体里加上token,统一做了处理如果以后要 ...

  6. LeetCode 1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold

    题目 我是按照边进行二分的 class Solution { public: int sum[100005]; int a[305][305]; int maxSideLength(vector< ...

  7. vue引用bootstrap3

    引用bootstrap   yarn add bootstrap@3 基于jquery,因此还需要引用2个包,jquery和popper.js, yarn add jquery popper.js - ...

  8. 1-HTTPS之SNI介绍

    原文:https://blog.51cto.com/zengestudy/2170245 介绍 早期的SSLv2根据经典的公钥基础设施PKI(Public Key Infrastructure)设计, ...

  9. ANDROID培训准备资料之Service

    在讨论Service 之前,我们需要了解两点,非常重要的两点 (1)     Service 不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中 (2)     Service也不 ...

  10. 了解iOS各个版本新特性总结

    参考了一下的文章:https://blog.csdn.net/zxtc19920/article/details/54341836 iOS7新特性 · 在iOS7当中,使用麦克风也需要取得用户同意了. ...