python读写文件,如何将内容添加在文件开头呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python读写文件,如何将内容添加在文件开头呢相关的知识,希望对你有一定的参考价值。
omefile.txt已经有内容了试过:f.open("somefile.txt",'r+')f.seek(0)开始f.write(),因为是写入多行数据,就会覆盖掉原有文件的一部分
fp.seek(offset[,whence])#将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 参考技术A
# coding: utf8
import os
f = open('a.txt', 'r')
content = f.read() # 读取文件内容
f_new = open('b.txt', 'w')
f_new.write('look !') # 开头写入内容
f_new.write(content) # 写入原文件内容
f.close()
f_new.close()
os.remove('a.txt') # 移除老文件
os.rename('b.txt', 'a.txt') # 新文件命名为老文件名
·········································································
python教程:IO模块使用教程
1.简介
读写文件是常见的IO操作,python内置了读写文本的函数。
读写文件的模式描述如下:
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
2.读取文件
文本信息如下:
1读取文件的基本信息
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
# 读取文件信息
print ("文件名: ", f.name)
print ("是否已关闭 : ", f.closed)
print ("访问模式 : ", f.mode)
print ("末尾是否强制加空格 : ", f.softspace)
# 关闭文件
f.close()
2一次性读取
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
# 一次性读取全部内容,不安全
print (\'一次性全部读取:\\n\', f.read())
f.close()
3多次读取
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
# 文件长度
# print \'文件长度:\', len(f.read())
# 从文件的开头读取13个字节,超过文本长度则读取全部
print (\'第一次读取:\\n\', f.read(13))
# 继续读取4个字节
print (\'第二次读取:\\n\', f.read(4))
f.close()
4按行读取
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
# 分行读取
print (\'读取第一行:\\n\', f.readline().strip())
print (\'读取第二行的4个字节:\\n\', f.readline(4))
f.close()
5file作为迭代器
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
for index in range(3):
# file自身作为迭代器
line = f.next()
print (line.strip())
6按行读取并存为list
# 只读方式打开文本文件
f = open(\'./readout.txt\', \'r\')
# 一次性读取所有行并且返回list
fileList = f.readlines()
# [\'line one\\n\', \'line two\\n\', \'\\xe4\\xb8\\xad\\xe6\\x96\\x87\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\']
print (\'List列表:\\n\', fileList)
for line in fileList:
# #去掉每行头尾空白
print (line.strip())
f.close()
7读取二进制文件
# 打开二进制文件,例如图片、视频
f = open(\'./readpicture.jpg\', \'rb\')
print (f.read())
f.close()
3.写入文件
1写入文件的基本信息
# 只写方式打开文件,写入文本
f = open(\'./writein.txt\', \'w\')
# 读取文件信息
print "文件名: ", f.name
print "是否已关闭 : ", f.closed
print "访问模式 : ", f.mode
print "末尾是否强制加空格 : ", f.softspace
# 关闭文件
f.close()
2多种写入
\'\'\'
学习中遇到问题没人解答?小编创建了一个Python学习交流群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
\'\'\'
# 只写方式打开文件,写入文本
f = open(\'./writein.txt\', \'w\')
# 写入文本
f.write(\'line one\')
f.close()
# 只写方式打开文件,以序列方式写入
f = open(\'./writein.txt\', \'w\')
contentList = [\'line one \\n\', \'line two \\n\', \'中文测试 \\n\']
# 写入序列
f.writelines(contentList)
f.close()
4.其他函数 file.tell() 、file.seek(offset,[],whence)
# 以读写方式打开文件,以序列方式写入
f = open(\'./writein.txt\', \'w+\')
contentList = [\'line one \\n\', \'line two \\n\', \'中文测试 \\n\']
# 写入序列
f.writelines(contentList)
# 指针位置:file.tell()
print \'写入后指针所在位置:\', f.tell()
# 指针偏移:file.seek(offset[, whence])
# 前者为偏移量,后者为指针位置(默认0表示初始位置,1表示当前位置,2表示末尾位置)
f.seek(0)
print \'偏移后指针所在位置:\', f.tell()
print \'数据:\\n\', f.read()
f.close()
5.使用with语句配合IO操作
with open(\'/path/to/file\', \'r\') as f:
print f.read()
注:该种方式可以自动调用close()方法,避免出错!!!
以上是关于python读写文件,如何将内容添加在文件开头呢的主要内容,如果未能解决你的问题,请参考以下文章