Python 文件的读取与写入
1、 读取文件,文件中没有中文
备注 :
文件名 : EnglishFile.txt
文件位置 : 保存在所写的.py文件的同级目录,附上截图,便于参考
备注 : 文件位置可以改变,只需要把文件路径传对即可,这里给了截图是怕有的小伙伴不知道文件该放在哪里,导致运行本程序出错
文件内容 :
第一种读取方式 : read()
功能 : 读取文件全部内容
参数 : /
返回类型 : 字符串
备注 : /
# -*- coding: UTF-8 -*- filePath = 'englishFile.txt' fileoperation = open(filePath, 'r')
print fileoperation.read()
fileoperation.close()
运行结果
This is what's in testFile: first line,
this is what's in testFile: second line
this is what's in testFile: third line
第二种读取方式 : readlines()
功能 : 逐行读取,但是也读取完文件
参数 : /
返回类型 : list列表
备注 : /
# -*- coding: UTF-8 -*- filePath = 'englishFile.txt' fileoperation = open(filePath, 'r') fileMessages = fileoperation.readlines()
for fileMessage in fileMessages:
print fileMessage, fileoperation.close()
运行结果
This is what's in testFile: first line,
this is what's in testFile: second line
this is what's in testFile: third line
第三种读取方式 : readline()
功能 : 逐行读取文件, 每次读取一行
参数 : /
返回类型 : 字符串
备注 : /
# -*- coding: UTF-8 -*- filePath = 'englishFile.txt' fileoperation = open(filePath, 'r') print fileoperation.readline(),
print fileoperation.readline(),
print fileoperation.readline() fileoperation.close()
运行结果
This is what's in testFile: first line,
this is what's in testFile: second line
this is what's in testFile: third line
2、 读取文件,文件中存在中文(其实读取方式相同,只是读出来为乱码,我们通过 decode('gb2312') 进行转码即可)
备注 :
文件名 : ChineseFile.txt
文件位置 : 保存在所写的.py文件的同级目录,附上截图,便于参考
备注 : 文件位置可以改变,只需要把文件路径传对即可,这里给了截图是怕有的小伙伴不知道文件该放在哪里,导致运行本程序出错
文件内容 :
第一种读取方式 : read()
功能 : 读取文件全部内容
参数 : /
返回类型 : 字符串
备注 :读取之后为乱码,但是我们只要通过 .decode('gb2312') 编码即可
# -*- coding: UTF-8 -*- filePath = 'ChineseFile.txt' fileoperation = open(filePath, 'r')
print fileoperation.read().decode('gb2312')
fileoperation.close()
运行结果
这是testFile文件中的内容 : 第一行
这是testFile文件中的内容 : 第二行
这是testFile文件中的内容 : 第三行
PS : 也就是把读取的内容用.decode('gb2312')编码输出而已!!!
第二种以及第三种读取方式同上,这里就不再写了。
3、 写入文件
备注 :
文件名 : writeFile.txt
文件位置 : 保存在所写的.py文件的同级目录,附上截图,便于参考
备注 : 文件位置可以改变,只需要把文件路径传对就行了,这里给了截图是怕有的小伙伴不知道文件该放在哪里,导致运行本程序出错
第一种方式写入文件 write(str)
功能 : 直接把参数str写入文件
参数 : 需要写入文件的字符串
返回类型 : None
PS : 写入回车用 \n (也就是换行), 写入中文直接传递中文字符串即可
# -*- coding: UTF- -*- filePath = 'writeFile.txt'
writeFileOperation = open(filePath, 'w')
writeString = 'aaa \nbbb'
writeFileOperation.write(writeString)
print '写入文件成功'
writeFileOperation.close()
运行结果
写入文件成功
PS : 此时,您可以看到 writeFile.txt 文件中已经写入内容了
第二种方式写入文件 writelines(sequence_of_strings)
功能 : 把 sequence_of_strings 写入文件
参数 : 字符串或者任何产生字符串的可迭代对象
返回类型 : None
备注 : 我们很容易理解为写入一行就直接写入一个回车,其实并没有,这个函数没有自动加入回车,因此还得自己加 \n 否则不换行, 写入中文直接传递中文字符串即可
# -*- coding: UTF- -*- filePath = 'writeFile.txt'
writeFileOperation = open(filePath, 'w')
writeFileOperation.writelines('aaa')
writeFileOperation.writelines('bbb')
print '写入文件成功'
writeFileOperation.close()
运行结果
写入文件成功
PS : 此时我们能看到文件中的内容为aaabbb,没有换行,这也说明了 writelines() 函数不自动换行
4、 打开文件 open()
功能 : 打开文件,获取一个操作对象,用于读写文件
参数 : 需要打开的文件以及打开方式
返回类型 : file
备注 : 该函数本应该写在笔记的最前面,但是写在了最后面。个人原因 : 因为我觉得读者来看读写文件操作,上来就看到一个不是读取文件的例子,就直接往下划走了,我当时学习时也是这样, 所以才把这个打开文件放在了最后面。我们都能看出每次操作文件都有 open() , 也就是打开文件,获取一个文件对象,接下来才可以读写文件,比如吃饭前我们得先烧饭,吃完饭得洗碗,所以每次 open() 后我们应该 close() ,例子就不写了,上面已经用到了,我把打开文件的方式整理一下。
方式 | 描述 |
w | 打开文件用于写入内容。如果文件存在,直接打开,写入内容会覆盖原文件内容,如果文件不存在,自动新建文件(只读) |
r | 打开文件用于读取内容。(只读) |
a | 打开文件用于添加内容,写入内容在原文件内容之后,不覆盖原文件内容, 如果文件不存在,自动新建文件 |
wb | 功能同上,只是以二进制格式打开,常用于非文本文档,如图片,.mp3 文件等 |
rb | |
ab |
Python 文件的读取与写入的更多相关文章
- python 文件的读取&更新
[python 文件的读取&更新] 任务抽象: 读取一个文件, 更新内容后, 重新写入文件. 实际应用: 磁盘上的一个配置文件, 读入内存后为一个dict, 对dict更新后重新写入磁盘. d ...
- Java I/O---RandomAccessFile类(随机访问文件的读取和写入)
1.JDK API中RandomAccessFile类的描述 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组.存在指向该隐含数组的光标或索引 ...
- Python对于CSV文件的读取与写入
今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...
- python中关于文件的读取和写入
open()和close()方法:使用python的内置函数open()打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file object = open(file_name ...
- Python文件的读取写入操作
一.打开文件.关闭文件操作 想要读取文件或是写入文件,第一步便是打开文件,最后一步便是关闭文件.这里介绍两种打开(关闭)文件的方式: 1.open()方法 f=open(file_name[,acce ...
- PHP文件操作 读取与写入
基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...
- java中文件的读取和写入
//首先要顶一个file文件用来存放要读取的文件 File f=new File("c:/test/aa.txt"); //在实例化一个输入流,并把文件对象传到里面 FileInp ...
- python文件_读取
1.文件的读取和显示 方法1: f=open(r'G:\2.txt') print f.read() f.close() 方法2: try: t=open(r'G:\2.txt') print t.r ...
- C#的XML文件的读取与写入
在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...
随机推荐
- 最长公共子窜和最长公共子序列(LCS)
他们都是用dp做;复杂度都是O(N方) 有一个大佬的博客写的很详细,是关于最长公共子序列的:https://blog.csdn.net/hrn1216/article/details/51534607 ...
- Salesforce Spring '20新功能集锦系列(二)
一.使用Data Mask保护沙盒数据 对于Salesforce管理员和开发人员,Data Mask是功能强大的新数据安全资源.管理员可以使用数据掩码自动加密沙盒中的数据,无需手动保护数据和沙盒组织的 ...
- XML外部实体注入[转载]
前言 对于xxe,深入的太少,一般做题也是复制payload再修改,没有了解过内部的结构规范等.这里转载了一篇先知社区的文章,排版了一下适合博客样式.文章总结的很好,结合了很多篇的博客文章,看完也是对 ...
- 任意用户密码重置的十种姿势=====>学习笔记!
原学习视频链接:https://www.butian.net/School/content?id=214%E2%80%98 1.验证码不失效 原因:获取的验证码缺少时间限制,仅判断验证码是否不正确而未 ...
- [Php][linux][nginx] 安装总结
就想总结一份安装环境文档,因为文档很多问题也很多,总结一份自己的安装文档! 首先,环境CentOS7,linux环境,windows! 1. 网络配置! vi /etc/sysconfig/netwo ...
- Springboot:修改默认端口以及Logo(三)
端口修改 在application.yml文件中增加端口的配置: server: port: 8081 Logo修改 Logo生成网址: https://www.bootschool.net/asci ...
- Linux网络编程(1)
Preview 课程要求,所以学了一下UNIX网络编程,老师说挺简单的,实际上手之后才发现这里面关系没那么简单.从CS:APP11章网络编程,再加上不停地man,对当前的学习做个总结,也顺带当个报告了 ...
- Bi-LSTM+CRF在文本序列标注中的应用
传统 CRF 中的输入 X 向量一般是 word 的 one-hot 形式,前面提到这种形式的输入损失了很多词语的语义信息.有了词嵌入方法之后,词向量形式的词表征一般效果比 one-hot 表示的特征 ...
- 曹工杂谈--只用一个命令,centos系统里装了啥软件,啥时候装的,全都清清楚楚
前言 一直以来,对linux的掌握就是半桶水的状态,经常yum装个东西,结果依赖一堆东西:然后再用源码装个东西,只知道make.make install,背后干了啥也不清楚了,卸载也不方便. 这几天工 ...
- Js实现将html页面或div生成图片
参考:https://blog.csdn.net/huwei2003/article/details/79761580 今天要分享的是用html2canvas根据自己的需求生成截图,并且修复html2 ...