python打开一个文件-python下几种打开文件的方式
昨天看完了这本python进阶,感觉这本书对我启发很大,做了三张纸的笔记,方便我在遇到问题的时候翻阅,然后寻找可能的解决方案。作为一个使用Python一年的小白,虽然说不是小白,但是这一年来基本上是用什么学什么,对python没有系统的学习过,900多页的厚书看了三分之一就放弃了,所以对python的一些pythonic的东西不太了解,对其很多自带的方法都不知道,很多很好的方法都从来没有使用过,现在回过头来看看,自己的python代码确实冗余度很高,一点都不pythonic。所以说,还是有必要看一遍python的书的,起码做到通读一遍,对平常的开发也是很有帮助的。
进入正题。
python下打开文件超级简单,不用导入任何包,直接输入
f = open('your_file.txt','r')
就可以打开一个文件进行操作。第二个参数为对文件的操作方式,’w’是写文件,已存在的同名文件会被清空,不存在则会创建一个;’r’是读取文件,不存在会报错;’a’是在文件尾部添加内容,不存在会创建文件,存在则直接在尾部进行添加;还有’wb’是写二进制文件;’rb’是读取二进制文件,比如图片之类的。
但是这种方式其实不是最好的打开文件的方式,这种方式可能会有这样几个问题:
1、未指定文件编码格式,如果文件编码格式与当前默认的编码格式不一致,那么文件内容的读写将出现错误。
2、如果读写文件有错误,会导致文件无法正确关闭。因为哪怕在后面有
f.close()
语句,但是如果在打开的时候就出现错误,这种打开方式会出现问题。因此,一般来说,不推荐这种打开文件的方式。(我之前其实一直使用这种方法,,虽然也知道其他的方法,但是嫌麻烦一直没怎么用…)
上面的这些问题都是针对python2的,在python3下open函数可以通过encoding参数指定编码方式,而在2中不可以。
在python3下可以直接通过这样来打开一个文件:
f = open('your_file.txt', 'r', encoding='utf-8')
下面的两种方式在python2和python3下都可以使用,因此如果想要让你的代码在2和3下都兼容的话可以尝试下面的两种方法:
import codecs
f1 = codecs.open('your_file1.txt', 'r', 'utf-8') #使用codecs包
f1.close()
import io
f2 = io.open('your_file2.txt', 'r', encoding='utf-8') #使用io包
f2.close()
不知道有没有细心的同学发现上面的打开文件的方式都有瑕疵,下面的方法则是用来解决刚才提到的第二个问题的,也是最推荐的一种打开文件的方式。
import codecs #或者io,使用哪种包无所谓
with codecs.open('your_file.txt', 'r', 'utf-8') as f:
f.write('This method is prior')
使用with这种上下文环境的方式打开文件,在对文件操作完成后无需通过close()关闭文件,文件会自动关闭,而且安全系数更高。
个人更加喜欢使用wiht 上下文打开的这种方式,而且用起来比较放心,尤其是对于忘记关闭文件的人。
python打开一个文件-python下几种打开文件的方式相关推荐
- python下载网页上的文件_用Python下载一个网页保存为本地的HTML文件实例
Python打开网页并另存为静态html怎么实现 如何用python把网页上的文本内容保存下来那一世的长情,谱一首长相思,冷了多少凄凉,漫了多少青丝,化作多少烟雨,吹散多少世间情!徒悲,奈何,这一世, ...
- 用python写一个简单的爬虫保存在json文件中
学习python没多久,所以只能写一个很简单的爬虫啦~~ 我使用annacada 自带的spyder来写爬虫的,这次我们要爬取得网站是http://www.drugbank.ca/drugs, 主要是 ...
- python 读取文件到字典读取顺序_python顺序的读取文件夹下名称有序的文件方法...
python顺序的读取文件夹下名称有序的文件方法 如下所示: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir( ...
- 如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...
我们可以用Python来将一个网页保存为本地的HTML文件,这需要用到urllib库. 比如我们要下载山东大学新闻网的一个页面,该网页如下: 实现代码如下: import urllib.request ...
- 怎么在python下载网站内容-用Python下载一个网页保存为本地的HTML文件实例
我们可以用Python来将一个网页保存为本地的HTML文件,这需要用到urllib库. 比如我们要下载山东大学新闻网的一个页面,该网页如下: 实现代码如下: import urllib.request ...
- python找出某个文件夹下某个后缀的文件
python找出某个文件夹下某个后缀的文件 import osdef find_files_with_suffix(folder_path, suffix):# 使用os模块获取文件夹中所有文件的路径 ...
- Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略
Python语言学习:创建/删除文件/文件夹.获取当前文件/文件夹路径(系统环境路径/目录).获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略 目录 系统环境路径的设置 1.sys ...
- python 导入csv文件到oracle_python将文件夹下的所有csv文件存入mysql和oracle数据库
#oracle版 首先新建python脚本(d:/python/orclImport.py) import os #引入os包 if __name__ == '__main__': #遍历文件夹下所有 ...
- Python执行某一文件夹下的所有py文件
记一段代码,是使用python执行某一文件夹下的所有py文件 # -*- coding: utf-8 - import os# 当前脚本所在的文件绝对路径 cur_path = os.path.dir ...
- 将一个文件夹下的所有pdf文件合并为一个文件
文章目录 1.将一个文件夹下的所有pdf文件合并为一个文件 这里还有一个 2.重新生成PDF文件 如题,每次都要重新写脚本很烦人,放在CSDN当做工具吧! 1.将一个文件夹下的所有pdf文件合并为一个 ...
最新文章
- 【线上分享】基于AI的超分辨技术在RTC领域的技术难点与挑战
- so库调用java函数_linux下so动态库调用主程序函数
- mysql 加密 en_以极少的停机时间加密运行 MySQL 或 MariaDB 的 Amazon RDS 数据库实例...
- extjs4.1单击treepanel节点收缩叶子节点
- matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件
- android studio for android learning (二十三 )Android Orientation Sensor(方向传感器)与指南针实战(新方法替代orientation)
- Apizza 在线Api接口测试工具
- Threejs实现天空盒,全景场景,地面草地
- Windows下Zookeeper启动错误Invalid arguments, exiting abnormally
- 音创ktv点歌linux系统下载,音创ktv点歌系统
- 黑盒测试 之 因果图法
- 服务器怎么安装php文档,云服务器php怎么安装
- 昨天在洛阳,也就是阴历十月一日,晚上有在自家门前烧纸的,有点好奇,今天知道了
- 陈强《计量经济学及Stata应用》习题答案
- CC BY-SA 4.0知识共享许可协议
- linkMap深度解析
- 【基础】java操作word,自动更新目录/域
- JSP中动态添加或删除table的行
- php7 libmcrypt.dll_libmcrypt.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
- html居中小圆点点怎么打出来,目录的点怎么打 WORD目录里的点点怎么打
热门文章
- 2.03-handler_openner
- 06.系统编程-2.线程
- iOS基本UI控件总结
- 超级有意思的代码注释
- [JS]视频总结-第三部分_深入javascript
- Access数据库OleDbHelper
- 零基础学python全彩版pdf-(特价书)零基础轻松学Python:青少年趣味编程(全彩版)...
- 以下可以采用python语言保留字的是-以下哪个选项不是Python语言的保留字?_学小易找答案...
- 小孩学python有意义吗-世界冠军教练告诉你:少儿编程这些坑,能不踩就别踩!...
- python程序员工资低吗-程序员嫌工资低拒绝offer,HR:估计你一辈子就是个程序员...