Python文件
(1)文件介绍
为了长期保存数据以便重复使用、修改和共享,必须将数据以文件形势存放在外部存储介质中。
- 文本文件:存储常规字符串,由若干文本行组成,以换行符结尾。
- 二进制文件:把对象内容以字节串进行存储,无法用记事本或其他普通字处理软件直接进行编辑或阅读。
(2)文件操作
文件操作三部曲:
- 打开
- 读写
- 关闭
文件打开模式:
模式 | 说明 |
---|---|
r | ![]() |
w | ![]() |
x | ![]() |
a | ![]() |
b | ![]() |
t | ![]() |
+ | ![]() |
文件操作函数
文件对象方法 | 执行操作 |
---|---|
f.close() | 关闭文件(保存) |
f.read() | 从文件中读出所有字符,然后按照字符串返回 |
f.readline() | 从文件中读取一行,返回一个字符串 |
f.write(str) | 将字符串str写入文件 |
f.writeline(seq) | 向文件中写入字符串序列,seq应该是一个字符串的可迭代对象 |
f.seek(offset,from) | 在文件中移动指针,从from偏移offset个字节 |
(3)操作实例
f = open('D://a1.txt','w')
f.write('Python')
f.close()
- ‘w’和‘r’的不同之处在于如果是写操作不要求文件一定存在,如果是读操作则该文件必须要存在。
- 文件操作完成之后一定要进行关闭操作,这一步相当于将缓冲区的数据存放到磁盘当中。
为了防止f.close( )之前的代码出错导致文件的关闭操作不能正常执行常采用一下形势。
try:
f = open('存在的.txt','r')
print(f.read())
sum = 1 + '1'
except:
print('出错啦!')
finally:
f.close()
使用with自动关闭文件
try:
with open('存在的.txt','r') as f:
print(f.read())
sum = 1 + '1'
except:
print('出错啦!')
实现文件的复制操作
def filecopy(src,dst):
with open(src,'r') as f1:
with open(dst,'w') as f2:
f2.write(f1.read())
filecopy('sample1.txt','sample2.txt')
with open('sample1.txt','r') as src,open('sample2.txt','w') as dst:
dst.write(src.read())