python之文件操作

1 创建

Python 使用 open() 函数创建或打开文件,语法格式如下所示:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明如下所示:

file:表示将要打开的文件的路径,也可以是要被封装的整数类型文件描述符。
mode:是一个可选字符串,用于指定打开文件的模式,默认值是 'r'(以文本模式打开并读取)。

可选模式如下:


image.png

buffering:是一个可选的整数,用于设置缓冲策略。
encoding:用于解码或编码文件的编码的名称。
errors:是一个可选的字符串,用于指定如何处理编码和解码错误(不能在二进制模式下使用)。
newline:区分换行符。
closefd:如果 closefd 为 False 并且给出了文件描述符而不是文件名,那么当文件关闭时,底层文件描述符将保持打开状态;如果给出文件名,closefd 为 True (默认值),否则将引发错误。
opener:可以通过传递可调用的 opener 来使用自定义开启器。

以 txt 格式文件为例,通过代码方式来创建,如下所示:

open('test.txt', mode='w',encoding='utf-8')

执行完上述代码,就为我们创建好了 test.txt 文件。

2 写入

上面我们创建的文件 test.txt 没有任何内容,我们向这个文件中写入一些信息,对于写操作,Python 文件对象提供了两个函数,如下所示:


image.png

使用这两个函数向文件中写入一些信息,如下所示:

wf = open('test.txt', 'w', encoding='utf-8')
wf.write('Tom\n')
wf.writelines(['Hello\n', 'Python'])
# 关闭
wf.close()

上面我们使用了close() 函数进行关闭操作,如果打开的文件忘记了关闭,可能会对程序造成一些隐患,为了避免这个问题的出现,可以使用 with as 语句,通过这种方式,程序执行完成后会自动关闭已经打开的文件。如下所示:

with open('test.txt', 'w', encoding='utf-8') as wf:
    wf.write('Tom\n')
    wf.writelines(['Hello\n', 'Python'])

3 读取

对于文件的读操作,Python 文件对象提供了三个函数,如下所示:


image.png

我们使用上面三个函数读取一下之前写入的内容,如下所示:

with open('test.txt', 'r', encoding='utf-8') as rf:
    print('readline-->', rf.readline())
    print('read-->', rf.read(6))
    print('readlines-->', rf.readlines())

4 定位

Python 提供了两个与文件对象位置相关的函数,如下所示:


image.png

下面通过示例对上述函数作进一步了解,如下所示:

with open('test.txt', 'rb+') as f:
    f.write(b'123456789')
    # 文件对象位置
    print(f.tell())
    # 移动到文件的第四个字节
    f.seek(3)
    # 读取一个字节,文件对象向后移动一位
    print(f.read(1))
    print(f.tell())
    # 移动到倒数第二个字节
    f.seek(-2, 2)
    print(f.tell())
    print(f.read(1))

5 其他

除了上面那些函数,Python 文件对象还有一些其他方法,如:isatty() 和 truncate()。

举例说明一下,如下所示:

with open('test.txt', 'r+') as f:
    # 检测文件对象是否连接到终端设备
    print(f.isatty())
    # 截取两个字节
    f.truncate(2)
    print(f.read())

参考文档地址:
https://docs.python.org/zh-cn/3.7/library/index.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • python之文件操作 一、文件操作基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分。 我们用pyt...
    go以恒阅读 3,142评论 0 4
  • 说到文件操作,我们就想到了读写操作,在python中对于文件操作就是读和写,访问文件的模式有两种,文本模式和二级制...
    EchoPython阅读 789评论 0 0
  • Python之文件操作 文件操作通过Python中的内置函数open()对文件进行操作。文件操作需要如下几个参数:...
    免跪姓黄阅读 1,589评论 0 4
  • 文件 什么是文件 文件是数据存储的单位 文件通常用来长期存储数据 文件中的数据是以字节为单位进行顺序存储的 文件的...
    遇明不散阅读 1,855评论 0 0
  • 文件读写 文件读写是最基本的IO操作,在Python中内置了open函数来用于文件的读写操作,此函数创建一个文件对...
    扯扯_2c79阅读 2,435评论 0 0

友情链接更多精彩内容