在文件开头写入内容

简介: 在文件开头写入内容

在文件开头写入内容

header_content = "####\n"
# 以文本增强模式打开
with open(file_path, 'r+') as fp:
    content = fp.read()
    fp.seek(0, 0)
    fp.write(header_content + content)

1. 原理

这里通过使用seek()函数移动文件指针来实。seek(offset, whence)函数接收两个参数。其中whence代表指针位置,默认参数为0,表示文件指针在文件开头,除此之外还可以为1(代表当前位置)和 2(文件末尾)。offset是在whence的基础上进行定义的,即根据指针whence所规定的位置的基础上再对指针位置进行偏移。

2. 注意

2.1. 在文本模式下,如果offset是一个不为0的数,那么offset的值只能等于fp.tell(),否则会报错。

2.2. offset只有在二进制模式下才可以为负,即可以将文件指针向前移动。

2.3. fp.tell()在二进制模式下返回从文件开头到指针处的字节数,在文本模式下返回一个不确定(飘忽不定)的数字,主要是因为tell()本质是返回字节数,在读取文本时,会根据指定的编码将二进制数据转换成可见字符,不同的编码方式导致每一个字符使用的字节数不相同,所以返回的数字也就与真实可见的字符数没有一个确切的关系了,即不确定(飘忽不定)的。

3. 关注我

相关文章
|
1月前
如何快速的追加文章的内容(在不知道内容的情况下)
该内容是一个教程,介绍了如何使用某个工具进行文章编辑和内容追加。首先,提到了工具的获取途径,包括百度网盘和蓝奏云,并给出了相应的提取码。然后,详细步骤如下:1) 打开工具,切换到文章模块(快捷键Ctrl+1);2) 新建文章,命名为“001”;3) 添加内容,如图所示;4) 保存并关闭文章;5) 在新建文章上右键,选择追加内容;6) 选择追加位置(头尾都加);7) 输入内容后关闭,无需保存,内容自动追加;8) 检查结果,显示已成功追加。教程中附有多张操作截图以辅助说明。
|
1月前
|
Java
怎样查找某个目录下内容含有某个字符串的文件
怎样查找某个目录下内容含有某个字符串的文件
15 2
|
1月前
|
弹性计算 运维 Shell
向文件中追加内容
【4月更文挑战第29天】
30 2
|
1月前
|
Java
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
14 0
|
1月前
|
弹性计算 运维 Shell
|
9月前
|
安全 Java
如何修改字符串内容?
如何修改字符串内容?
|
11月前
|
Shell Perl
把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母
把一个文档前五行中包含字母的行删掉,同时删除6到10行包含的所有字母
95 1
|
移动开发 数据库
使用notepad++将每行文本的开头结尾统一加上"",
使用notepad++将每行文本的开头结尾统一加上"",
328 0
|
Java Maven
快速删除所有以.lastUpdate结尾的文件
快速删除所有以.lastUpdate结尾的文件
1238 0
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加