python中open函数对文件处理的使用教程

目录
  • 1.open()
    • 1.1 参数1
    • 1.2 参数2
    • 1.3 参数3
  • 2.with open() as
  • 3.open函数常用的方法
    • 3.1 读
    • 3.2 写
    • 3.3 获取文件读写类型
    • 3.4 指针移动
    • 3.5 当前指针位置
    • 3.6 truncate
  • 总结

在python中使用open函数对文件进行处理。

1.open()

python打开文件使用open()函数,返回一个指向文件的指针。该函数常用以下三个参数。

1.1 参数1

目标文件的路径+名字。最好使用r"路径"这种原始字符串写法,防止有转义字符影响实际路径。

1.2 参数2

操作文件的方式mode=‘方式’。mode=可以省略。下面对操作文件的方式进行详细说明:

(1)r

以只读方式打开文件。文件的指针将会放在文件的开头。这是open默认模式。如果文件不存在,会报错。

(2)rb

以二进制只读方式打开一个文件。文件指针将会放在文件的开头。注意这种方式不能使用encoding,不然会报错。

同样的内容使用一般方式和二进制的方式打开。

fp = open(r"E:\test.txt",'r',encoding='utf-8')
content = fp.readline()
print(content)

输出:加油,好好干!

fp = open(r"E:\test.txt",'rb')
content = fp.readline()
print(content)

输出:b’\xe5\x8a\xa0\xe6\xb2\xb9\xef\xbc\x8c\xe5\xa5\xbd\xe5\xa5\xbd\xe5\xb9\xb2\xef\xbc\x81’

(3)r+

以读写方式打开一个文件。文件指针将会放在文件的开头。直接写入会覆盖文件开头的内容。

原始内容:

加油,好好干!别放弃

fp = open(r"E:\test.txt",'r+',encoding='utf-8')
fp.write("开心吧")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

执行后:

开心吧好好干!别放弃

(4)rb+

以二进制读写方式打开一个文件。文件指针将会放在文件的开头。

(5)w

以写入打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

(6)wb

以二进制写入方式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。
(7)w+

以读写方式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

原始内容:

开心吧好好干!别放弃

fp = open(r"E:\test.txt",'w+',encoding='utf-8')
fp.write("认真一点")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

执行后直接覆盖所有原始内容:

认真一点

(8)wb+

以二进制读写格式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

(9)a

以追加方式打开一个文件。如果文件已存在,文件指针将会放在文件结尾。即:新的内容将会被追加到已有的内容之后。如果该文件不存在,则创建新文件可用于写入。注意,不能读,读会出错。

(10)a+

以读写方式打开一个文件。如果文件已存在,文件指针将会放在文件结尾。即:新的内容将会被追加到已有的内容之后。如果该文件不存在,则创建新文件可用于读写。

原始内容:

认真一点

fp = open(r"E:\test.txt",'a+',encoding='utf-8')
fp.write("你就离成功近一点")
fp.close()
fp = open(r"E:\test.txt", 'r', encoding='utf-8')
content = fp.readline()
print(content)
fp.close()

执行后追加:

认真一点你就离成功近一点

这时候,指针放在文件尾部,直接读取会没有内容,需要将指针移动(seek)到文件的头部:

with open(r"E:\test.txt",'a+',encoding='utf-8') as fp:
    fp.seek(0,0)
    content = fp.readline()
    print(content)

(11)ab+

以二进制读写方式打开一个文件。如果文件已存在,文件指针将会放在文件结尾。即:新的内容将会被追加到已有的内容之后。如果该文件不存在,则创建新文件可用于读写。

1.3 参数3

编码的方式,常用utf-8,gbk等。如:encoding=‘utf-8’

如果是二进制的方式,这个参数不需要填,填了还会报错。

2.with open() as

这是open()的一种升级用法,控制块结束的时候文件会自动关闭,不需要显示地调用close()关闭文件。这种方法更方便使用,所以推荐大家使用这种方法。

with open(r"E:\test.txt",'r',encoding='utf-8') as fp:
    content = fp.readlines()

3.open函数常用的方法

3.1 读

文件内容:

认真一点你就离成功近一点
啊啊啊啊啊啊啊啊啊啊啊
fffffffffff

(1)read()

一次性读取整个文件内容,将整个文件放到一个字符串中。使用read(size)方法,返回文件中的前size个字符:

content = fp.read()

输出:

认真一点你就离成功近一点
啊啊啊啊啊啊啊啊啊啊啊
fffffffffff

(2)readline()

每次读取一行内容。

content = fp.readline()

输出:

认真一点你就离成功近一点

(3)readlines()

一次性读取整个文件内容到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便)

content = fp.readlines()

输出;

[‘认真一点你就离成功近一点\n’, ‘啊啊啊啊啊啊啊啊啊啊啊\n’, ‘fffffffffff’]

3.2 写

(1)write()

fp.write()的参数必须是一个字符串,就是你要写入文件的内容.

(2)writelines()

fp.writelines()的参数可以是列表,也可以是字符串。

3.3 获取文件读写类型

如果文件可写,则 fp.writable() 方法返回 True,否则返回 False。

如果文件是可读的,则 fp.readable() 方法返回 True,否则返回 False。

比如:以w方式打开的文件,fp.readable()返回False,fp.writable()返回True。

3.4 指针移动

seek

f.seek(偏移量,[起始位置])

起始位置的三种取值:0文件开头,1当前位置,2文件末尾

例子见1.3中(10)a+

3.5 当前指针位置

tell()返回一个整数,表示当前文件指针的位置(就是到文件头的字节数).

如果是utf-8编码,那么一个中文字符占用三个字节,一个英文字符占用一个字节。如果是gbk编码,那么一个中文字符占用两个字节,一个英文字符占用一个字节。

with open(r"E:\test.txt",'a+',encoding='utf-8') as fp:
    content = fp.tell()
    print(content)

打印:30

3.6 truncate

truncate(size) 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。

总结

到此这篇关于python中open函数对文件处理的文章就介绍到这了,更多相关python open函数使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python学习笔记之open()函数打开文件路径报错问题

    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读. >>> f = open('D:/test.txt','r') 注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现. 错误演示: >>> f = open('D:\test.txt','r') Traceback (most recent call last): File"<ipython-i

  • 详解Python中open()函数指定文件打开方式的用法

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'->二进制模式,比如打开图像.音频.word文件. '+'->更新(可读可写) 这个带'+'号的有点难以理解,上代码感受下. with open('foo.txt', 'w+') as f: f.write('bar\n') f.seek(0) data = f.read() 可以看到,上面这段代码

  • 探究python中open函数的使用

    最近,开始学习python的开发,遇到了一点文件操作的问题,探究一下open函数的使用. 一.open()的函数原型 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) 从官方文档中我们可以看到open函数有很多的参数,我们常用的是file,mode和encoding,对于其它的几个参数,平时不常用,也简单介绍一下. buffering的可取值有0,1, >1三个,0

  • python中open函数的基本用法示例

    前言 本文主要介绍的是关于python中open函数用法的相关资料,用法如下: name = open('errname.txt','w')<br>name.readline()<br>name.close() 1.看下第一行的代码 用来访问磁盘中存放的文件,可以进行读写等操作,例如上例中 'w',这里便是对errname.txt这个文件进行读操作 例如: w:以写方式打开 a:以追加方式打开 r+:以读写模式打开 w+:以读写模式打开 rb:以二进制读模式打开 wb:以二进制写模

  • python中open函数对文件处理的使用教程

    目录 1.open() 1.1 参数1 1.2 参数2 1.3 参数3 2.with open() as 3.open函数常用的方法 3.1 读 3.2 写 3.3 获取文件读写类型 3.4 指针移动 3.5 当前指针位置 3.6 truncate 总结 在python中使用open函数对文件进行处理. 1.open() python打开文件使用open()函数,返回一个指向文件的指针.该函数常用以下三个参数. 1.1 参数1 目标文件的路径+名字.最好使用r"路径"这种原始字符串写法

  • python中enumerate函数用法实例分析

    本文实例讲述了python中enumerate函数用法.分享给大家供大家参考.具体分析如下: 今日发现一个新函数 enumerate .一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: for i in range (0,len(list)): print i ,list[i] 但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义: def enumerate(collection): 'Generates an inde

  • python中解析json格式文件的方法示例

    前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 本文主要介

  • 基于Python中isfile函数和isdir函数使用详解

    Python编程语言判断是否是目录 在Python编程语言中可以使用os.path.isdir()函数判断某一路径是否为目录.其函数原型如下所示. os.path.isdir(path) 参数含义如下. path:要进行判断的路径.以下实例判断E:\MJlife\test是否为目录. >>>import os >>>os.path.isdir('E:\\MJlife\\test') 判断是否为目录的输出结果 True 表示H:\MJlife\test是目录. Pytho

  • 详解python中的异常和文件读写

    Python异常 1.python异常的完整语法 try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 使用 8 除以用户输入的整数并且输出 result = 8 / num print(result) except ValueError: print("请输入正确的整数!") except Exception as result: print("未知错误:%s" % result) else: prin

  • python中编写函数并调用的知识点总结

    能够调用自己编写的函数,这在很多开发语言中,都会用到一个叫做mian的主函数,这个函数一般都是程序的入口,当程序启动时,首先执行这个函数. 在Python中,main函数的主要作用就是你写的模块既可以导入到别的模块中用,也可以在模块本身执行使用.下面就来了解具体使用操作吧. 编写简单的函数并调用: def show(): print("这是一个简单的函数") print("无论如何,我都会输出") print("__name__变量为:"+__n

  • 关于python中readlines函数的参数hint的相关知识总结

    readlines的帮助信息 >>> fr=open('readme.txt') >>> help(fr.readlines) Help on built-in function readlines: readlines(hint=-1, /) method of _io.TextIOWrapper instance Return a list of lines from the stream. hint can be specified to control the

随机推荐