#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. LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并

    问题描述 LG4556 题解 对于每一个结点,建立一棵动态开点线段树. 然后自低向上合并线段树. 同时维护整个值域的最大值和最大值位置. \(\mathrm{Code}\) #include<b ...

  2. 10.1 csp-s模拟测试(b) X国的军队+排列组合+回文

    T1 X国的军队 贪心,按$b-a$的大小降序排序,然后就贪心吧 #include<iostream> #include<cstdio> #include<algorit ...

  3. jquery ajax 重写

    (function($){ //备份jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中er ...

  4. 详解 IaaS、PaaS和SaaS 以及他们各自的代表公司

    ——IaaS,PaaS和SaaS 是云计算领域的专业术语,也是云计算的三种服务模式.   (1)SaaS:Software as a Service,软件即服务(也称为云应用程序服务) . 云市场中企 ...

  5. Springboot如何打包部署项目

    原文地址 目录 前言 1. 导入插件 2.idea中快速打包 3.java –jar运行项目 4.访问项目 5.发布到服务器 前言 用心写好每一篇文章,真心对待每一个读者 文章首发地址: www.ja ...

  6. Autoware 培训笔记 No. 2——基于点云的定位

    1. 前言 构建出地图后,应该测试点云地图定位效果,这里用到ndt的scan_matching方法,这是一种scan-to-map方法.这里用的是我们自己采集的数据进行仿真. 本章内容有和No. 1重 ...

  7. 基于opencv 识别、定位二维码 (c++版)

    前言 因工作需要,需要定位图片中的二维码:我遂查阅了相关资料,也学习了opencv开源库.通过一番努力,终于很好的实现了二维码定位.本文将讲解如何使用opencv定位二维码. 定位二维码不仅仅是为了识 ...

  8. @property与@xxx.setter的用法

    类中@property与@xxx.setter的方法介绍. 简单说,@property就是将定义的函数(方法)当作属性对象使用,不需要像调用函数那样去调用,而@xxx.setter是为@xxx的这样函 ...

  9. 听说看了这篇文章就彻底搞懂了什么是OPC(上)

    从2000年初以来,我们就一直在使用OPC软件互操作性标准,而那些正准备踏入和想要踏入工业自动化领域的人们却对这些含义感到困惑. 所以在本中,我将系统地为你梳理OPC知识. OPC首字母缩写词代表什么 ...

  10. vue-v-for

    1.v-for遍历数组和对象 <ul> <li v-for="item in array">{{item}}</li><br> &l ...