昨天看完了这本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下几种打开文件的方式相关推荐

  1. python下载网页上的文件_用Python下载一个网页保存为本地的HTML文件实例

    Python打开网页并另存为静态html怎么实现 如何用python把网页上的文本内容保存下来那一世的长情,谱一首长相思,冷了多少凄凉,漫了多少青丝,化作多少烟雨,吹散多少世间情!徒悲,奈何,这一世, ...

  2. 用python写一个简单的爬虫保存在json文件中

    学习python没多久,所以只能写一个很简单的爬虫啦~~ 我使用annacada 自带的spyder来写爬虫的,这次我们要爬取得网站是http://www.drugbank.ca/drugs, 主要是 ...

  3. python 读取文件到字典读取顺序_python顺序的读取文件夹下名称有序的文件方法...

    python顺序的读取文件夹下名称有序的文件方法 如下所示: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir( ...

  4. 如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...

    我们可以用Python来将一个网页保存为本地的HTML文件,这需要用到urllib库. 比如我们要下载山东大学新闻网的一个页面,该网页如下: 实现代码如下: import urllib.request ...

  5. 怎么在python下载网站内容-用Python下载一个网页保存为本地的HTML文件实例

    我们可以用Python来将一个网页保存为本地的HTML文件,这需要用到urllib库. 比如我们要下载山东大学新闻网的一个页面,该网页如下: 实现代码如下: import urllib.request ...

  6. python找出某个文件夹下某个后缀的文件

    python找出某个文件夹下某个后缀的文件 import osdef find_files_with_suffix(folder_path, suffix):# 使用os模块获取文件夹中所有文件的路径 ...

  7. Python语言学习:创建/删除文件/文件夹、获取当前文件/文件夹路径(系统环境路径/目录)、获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略

    Python语言学习:创建/删除文件/文件夹.获取当前文件/文件夹路径(系统环境路径/目录).获取当前文件夹下的所有子文件路径等代码(os系列用法)实现之详细攻略 目录 系统环境路径的设置 1.sys ...

  8. python 导入csv文件到oracle_python将文件夹下的所有csv文件存入mysql和oracle数据库

    #oracle版 首先新建python脚本(d:/python/orclImport.py) import os #引入os包 if __name__ == '__main__': #遍历文件夹下所有 ...

  9. Python执行某一文件夹下的所有py文件

    记一段代码,是使用python执行某一文件夹下的所有py文件 # -*- coding: utf-8 - import os# 当前脚本所在的文件绝对路径 cur_path = os.path.dir ...

  10. 将一个文件夹下的所有pdf文件合并为一个文件

    文章目录 1.将一个文件夹下的所有pdf文件合并为一个文件 这里还有一个 2.重新生成PDF文件 如题,每次都要重新写脚本很烦人,放在CSDN当做工具吧! 1.将一个文件夹下的所有pdf文件合并为一个 ...

最新文章

  1. 【线上分享】基于AI的超分辨技术在RTC领域的技术难点与挑战
  2. so库调用java函数_linux下so动态库调用主程序函数
  3. mysql 加密 en_以极少的停机时间加密运行 MySQL 或 MariaDB 的 Amazon RDS 数据库实例...
  4. extjs4.1单击treepanel节点收缩叶子节点
  5. matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件
  6. android studio for android learning (二十三 )Android Orientation Sensor(方向传感器)与指南针实战(新方法替代orientation)
  7. Apizza 在线Api接口测试工具
  8. Threejs实现天空盒,全景场景,地面草地
  9. Windows下Zookeeper启动错误Invalid arguments, exiting abnormally
  10. 音创ktv点歌linux系统下载,音创ktv点歌系统
  11. 黑盒测试 之 因果图法
  12. 服务器怎么安装php文档,云服务器php怎么安装
  13. 昨天在洛阳,也就是阴历十月一日,晚上有在自家门前烧纸的,有点好奇,今天知道了
  14. 陈强《计量经济学及Stata应用》习题答案
  15. CC BY-SA 4.0知识共享许可协议
  16. linkMap深度解析
  17. 【基础】java操作word,自动更新目录/域
  18. JSP中动态添加或删除table的行
  19. php7 libmcrypt.dll_libmcrypt.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  20. html居中小圆点点怎么打出来,目录的点怎么打 WORD目录里的点点怎么打

热门文章

  1. 2.03-handler_openner
  2. 06.系统编程-2.线程
  3. iOS基本UI控件总结
  4. 超级有意思的代码注释
  5. [JS]视频总结-第三部分_深入javascript
  6. Access数据库OleDbHelper
  7. 零基础学python全彩版pdf-(特价书)零基础轻松学Python:青少年趣味编程(全彩版)...
  8. 以下可以采用python语言保留字的是-以下哪个选项不是Python语言的保留字?_学小易找答案...
  9. 小孩学python有意义吗-世界冠军教练告诉你:少儿编程这些坑,能不踩就别踩!...
  10. python程序员工资低吗-程序员嫌工资低拒绝offer,HR:估计你一辈子就是个程序员...