python基础学习之文件操作

       在日常工作中我们会遇到一些系统配置、测试数据等读写以及保存的操作,在操作是我们就是可以使用Python对文件进行操作,使我们的工作更加便捷。在这篇文章中将和大家分享相关的内容。

文件操作流程

文件操作的步骤总结为如下:

(1)打开文件,得到文件的句柄并赋值给变量。

(2)通过得到的句柄对文件进行操作。

(3)操作完成后关闭文件。

文件操作的简单示例

#coding:utf-8
f = open('test.txt','r',encoding = 'utf-8')
data = f.read()
print(data)
f.close()

Python中打开文件我们使用的是open函数,首先介绍下open函数。

open()函数的完整语法格式:open(file,mode = 'r',buffering = -1,encoding = None,errors = None,newline = None,closefd = True)

参数说明如下:

file:必选参数,文件的路径,相对或者绝对路径均可。

mode:可选参数,文件打开模式,默认是“r”。

buffering:设置缓冲。

encoding:文件编码格式,一般使用utf-8

errors:报错级别

newline:区分换行符

closefd:传入的file参数类型。

mode参数的取值有多种,常用的有“r”,“w”,“a”

r:以只读的方式打开文件,光标只会放在文件的开头。

w:打开一个文件只用于写入,如果该文件已存在则打开文件并从开头开始编辑,原有的内容会被覆盖掉。如果该文件不存在,则创建一个新文件。

a:打开一个文件并用于追加文件内容,如果该文件已存在,光标会在文件的结尾。新的内容将会被写入已有内容之后,如果不存在,则创建新文件并进行内容写入。

文件常见操作方法

file.read([size]):从文件中读取指定的字节数,如果未给定或者为负则读取所有内容。

file.readline([size]):读取整行,包括“\n”字符。

file.readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,则是设置一次读取多少字节,这样可以减轻读取压力。

file.write(str):将字符串写入文件,返回的是写入的字符串长度。

file.wiritelines(sequence):向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

file.close():关闭文件。关闭文件后不能再进行文件操作。

通过read()读取文件的所有内容

#coding:utf-8
f = open('test.txt','r',encoding = 'utf-8')

data = f.read()  #通过read读取文件全部内容
print("read 对应的结果:{}".format(data))
f.close()

通过readline()读取某行内容

#coding:utf-8
f = open('test.txt','r',encoding = 'utf-8')

data = f.readline()  #通过readline读取文件某行内容
print("readline 对应的结果:{}".format(data))
f.close()

通过readlines()读取文件的所有内容,返回列表

#coding:utf-8
f = open('test.txt','r',encoding = 'utf-8')

data = f.readlines()  #通过readlines读取文件全部内容
print("readlines 对应的结果:{}".format(data))
f.close()

返回结果:readlines 对应的结果:['12345\n', 'the second line\n', 'the third line\n', 'the forth line\n', 'the fifth line']

文件关闭

使用open()操作文件需要注意在文件操作完成后一定要使用close()关闭文件,否则就会一直占用系统资源还可能导致其他的安全隐患。为了避免忘记关闭文件,可以使用另外一种with open的方式,使用它我们就可以不用关注文件关闭了。

with open('test.txt','r',encoding = 'utf-8') as f:
    data = f.read()
    print("文件内容:\n {}".format(data))

执行结果: 

文件内容:
 12345
the second line
the third line
the forth line
the fifth line

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值