技术文章
当前位置:首页 > Python技术文章 > 怎么用python打开文件

用python打开文件的详细方法

  • 发布时间:
  • 作者:码农之家原创
  • 点击:202

这篇文章主要知识点是关于python、文件、解决python使用open打开文件中文乱码的问题 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3网络爬虫开发实战
  • 类型:Python爬虫大小:375.5 MB格式:PDF出版:人民邮电出版社作者:崔庆才
立即下载

更多Python相关的学习资源可以参阅 Python电子书程序设计电子书 等栏目。

怎么用python打开文件

怎么用python打开文件

怎么用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()关闭文件,文件会自动关闭,而且安全系数更高。

相关推荐:《Python教程》

以上就是怎么用python打开文件的详细内容,更多请关注码农之家其它相关文章!

解决python使用open打开文件中文乱码的问题

代码如下:

先在D盘下新建一个html文档,然后在里面输入含有中文的Html字符如下图,然后我们首先使用中文格式对读取的字符进行解码再用utf-8的模式对字符进行进行编码,然后就能正确输出中文字符

解决python使用open打开文件中文乱码的问题

# -*- coding: UTF-8 -*-
file1 = open("D:/1.html", mode='rb+')
data = file1.read().decode('gbk').encode('utf-8')
print data

以上这篇解决python使用open打开文件中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于Python的全部知识点内容总结,大家还可以在下方相关文章里找到如何由java转学python、 实例讲解python MNIST手写识、 python字符串和常见数据结、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:诠释python全栈工程师

下一篇:Python生成指定数量优惠码的实例方法

展开 +

收起 -

相关电子书
学习笔记
网友NO.134085

Python打开文件,将list、numpy数组内容写入txt文件中的方法

python保存numpy数据: numpy.savetxt("result.txt", numpy_data); 保存list数据: file=open('data.txt','w')file.write(str(list_data));file.close() 以上这篇Python打开文件,将list、numpy数组内容写入txt文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.191543

解决python使用open打开文件中文乱码的问题

代码如下: 先在D盘下新建一个html文档,然后在里面输入含有中文的Html字符如下图,然后我们首先使用中文格式对读取的字符进行解码再用utf-8的模式对字符进行进行编码,然后就能正确输出中文字符 # -*- coding: UTF-8 -*-file1 = open("D:/1.html", mode='rb+')data = file1.read().decode('gbk').encode('utf-8')print data 以上这篇解决python使用open打开文件中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

网友NO.600976

浅谈python在提示符下使用open打开文件失败的原因及解决方法

题目:在提示符下使用open打开一个文件 刚开始网上看了下打开的方式,结果一直实现不了,报错是没找到这个文件,而且和我输入的文件名不一样。 错误如下: open('d:\456.txt')Traceback (most recent call last): File "pyshell#0", line 1, in module open('d:\456.txt')IOError: [Errno 2] No such file or directory: 'd:..txt'------------------------------------------------------t= open('d:\456.txt','r')Traceback (most recent call last): File "pyshell#1", line 1, in module t= open('d:\456.txt','r')IOError: [Errno 2] No such file or directory: 'd:..txt' 最后各种尝试,把命令改成 t= open('d:\\456.txt','r') 就可以了 即在文件名前面多加一个反斜杠\ 原因为: 在python和很多程序语言中"\"转义符号,要想输出\要么多加一个\写成\\ 要么在字符串前面加r,告诉python解释器,按原始字符串处理。f= open(r'd:\\456.txt','r') PS:如果地址为F:\test时。 t= open('F:\test\\456.t……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明