#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. 使用Python拆分数据量大的CSV文件(亲测有效)

    转载:https://www.cnblogs.com/FYZHANG/p/11629075.html 一次就运行成功了,感谢博主分享 #!/usr/bin/env python3 # -*- # @F ...

  2. SQLyog 图形化数据库的操作教程

    首先SQLyog作为mysql的图形化操作工具,是一款非常好用的工具. 操作说明 1.打开工具,点击[新建]输入名称.用户名:root,密码是安装时自己设置的(一定要记住的),端口号默认是:3306, ...

  3. layui 数据表格里面的html代码转义

    table.render({  elem: '#release_table'  ,url:'data_list'  ,where: {table: 'release'} //两步转义转义,先将原始数据 ...

  4. HTML+CSS基础 权重的计算 权重计算规则

    权重的计算 将选择器上面的选择器进行叠加,叠加后的总和就是该选择器的权重. 权重计算规则

  5. webstorm关闭烦人的eslint语法检查

    使用了eslint语法检查之后发现JS代码里面处处是红线,通过右键菜单中的fix eslint problems选项又会发现页面代码的格式被eslint换行得不分青红皂白,索性关闭exlint语法检查 ...

  6. 【转载】百度百科:FusionCube超融合

    [转载]百度百科:FusionCube超融合 华为FusionCube融合基础设施一体机(Huawei FusionCube Converged Infrastructure)是华为公司IT产品线云计 ...

  7. Winform 通过 WebBrowser 与 JS 交互

    Winform 通过 WebBrowser 与 JS 交互 魏刘宏 2019.08.17 之前在使用 Cef (可在 Winform 或 WPF 程序中嵌入 Chrome 内核的网页浏览器的组件)时, ...

  8. Jenkins持续集成的应用--基础

    1.测试工程师为什么要掌握持续集成 一个程序员如果想发布一个产品,他需要编码.编译.测试,发布的过程.对于一个企业来说,如果也想发布一个产品的话,同样的也是需要上述的过程,区别在于企业要发布的产品的需 ...

  9. JZOJ.2117. 【2016-12-30普及组模拟】台风

    题目大意: 天气预报频道每天从卫星上接受卫星云图.图片被看作是一个矩阵,每个位置上要么是”#”,要么”.”,”#”表示该位置没有云,”.”表示有云,地图上每个位置有多达8个相邻位置,分别是,左上.上. ...

  10. JavaScript 数据类型转换表

    下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "fa ...