美文网首页
Python3 文件其他重要属性

Python3 文件其他重要属性

作者: tafanfly | 来源:发表于2020-01-29 17:01 被阅读0次

前面几篇介绍了文件的方法openwith open,属性readwriteclose。下面是文件的其他属性。

1. f.tell(),返回文件当前位置

tell() 方法返回文件的当前位置,即文件指针指向位置, 决定了后续的读写操作。

  • r只读模式下,文件指针位置是0, 即文件的开头,读取所有内容后,文件指针位置是3, 即文件的末尾
  • a追加写入模式下,文件指针位置是7, 即文件的末尾,后面当然也读取不到任何内容
with open('file.txt', 'r') as f:
    print(f.tell())
    print(repr(f.read()))

with open('file.txt', 'a') as f:
    print(f.tell())
# testing
0
'Hello!\n'
7

2. f.seek(offset[, whence]),设置文件当前位置

  • offset -- 开始的偏移量,也就是代表需要移动偏移的字节数

  • whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

  • 如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1

with open('file.txt', 'a+') as f:
    print(f.tell())
    print(f.read())
    print(f.seek(0, 0))
    print(f.read())
    print(f.seek(4, 0))
    print(f.read())
# testing
50

0
The following functions operate on a history file.
4
following functions operate on a history file.

3. f.truncate( [ size ]),用于截断文件

  • 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除
  • 不指定长度的话,就从文件开头开始截断到当前位置,其余内容删除
  • 返回截断的字节长度

注意:

  • 该方法需要写的模式才可使用, 否则上报错误UnsupportedOperation: File not open for writing
  • 文件的内容会被修改
with open('file.txt', 'r+') as f:
    print(f.read())
    f.seek(4, 0)
    print(f.truncate())
    f.seek(0, 0)
    print(f.read())

# testing
The following functions operate on a history file.
4
The 
4. f.flush(),用来刷新缓冲区的,直接把内部缓冲区的数据立刻写入文件

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

In [98]: f = open('a.txt', 'w+')

In [99]: f.read()
Out[99]: ''

In [100]: f.write('qwert')
Out[100]: 5

In [101]: cat a.txt

In [102]: f.flush()

In [103]: cat a.txt
qwert
In [104]: f.close()

相关文章

  • Python3 文件其他重要属性

    前面几篇介绍了文件的方法open和with open,属性read,write,close。下面是文件的其他属性。...

  • Flutter pubspec.ymal 文件内容详解

    name属性 此属性表示包名(package name),此属性是非常重要的,引入其他文件时需要使用此包名,如果修...

  • SpringBoot 获取属性的3种方式

    主题 绑定属性的方式 直接绑定 application.properties 文件中的属性 如何绑定 其他文件中的...

  • self.xxx与_xxx的区别

    self.xxx(属性) 属性定义如下,在头文件中定义则为公有属性,可以在其他文件中访问。在实现中定义则为私有,只...

  • CSS学习笔记

    @import url() CSS文件中引入其他CSS文件 属性选择器:?[???=""]{}完全匹配?[???*...

  • linux操作常用命令:文件目录查询修改等操作

    linux 命令: 显示文件属性介绍:文件属性在文件系统的安全管理方面起很重要的作用,linux下lsattr命令...

  • ubuntu 文件管理命令

    目录管理命令 文件操作命令 文件属性查看以及详解 d :目录(其他的字符有,-普通文件、l:链接文件、b:设备文件...

  • 其他属性

    Binding Exchange和Exchange、Queue之间的连接关系。 Queue 消息队列,事件存储消息...

  • 其他属性

    (1)、ref 通过 ref 属性获取DOM(this.$refs.值) (2)、debugger断点调试代码卡...

  • 文件/文件夹的隐藏属性

    文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要。好比如说,我们需要使用”鉴定符“来揭开装...

网友评论

      本文标题:Python3 文件其他重要属性

      本文链接:https://www.haomeiwen.com/subject/mgicthtx.html