Python-文件的操作

语法

 变量名 = open(文件名,打开模式)

打开模式

文件的打开模式描述
'r'只读模式,默认值,如果文件不存在,返回FileNotFoundError
'w'覆盖写模式,文件不存在则创建,存在则完全覆盖
'x'创建写模式,文件不存在则创建,存在则返回FileExistsError
'a'追加写模式,文件不存在则创建,存在则在文件最后追加内容
'b'二进制文件模式
't'文本文件模式,默认值
'+'与r/w/x/a一同使用,在原功能基础上增加同时读写功能

例如

#在路径下面创建text.py文件
f =  open("text.txt","x")

#在桌面上创建test。windows下面\有转义的意思
f =  open("C:\\Users\\wangyujun\\Desktop\\text.txt","x")

#想要打开的文件进行什么操作,就使用是什么模式
f =  open("text.txt","r")

#关闭文件
f.close()
  • 必须关闭文件,因为每次操作都是保存在内存中,并没有真正保存到文件中

读文件

读文件常用方法

操作方法描述
<f>.read()读入全部内容
<f>.readline(size=-1)读入一行内容,如果给出参数,读入该行前size长度
<f>.readlines(hint=-1)读入文件所有行,以每行为元素形成列表 如果给出参数,读入前hint行
  • 注意:如果文件是中文,打开之后报错。就按照一下步骤修改
  • 文件--->首选项--->设置--->搜索encoding---->simplified chiese (GBK)

例如

#首先我们要打开一个文件,需要有一个文件的对象
f = open("test.txt","r")

# <f>.read()      | 读入全部内容
#r1=f.read()
#print(r1)

# <f>.readline(size)  | 读入一行内容,如果给出参数,读入该行前size长度  
r2 = f.readline()   
print(r2)  #伟大的中国
r3 = f.readline(2)   
print(r3)  #伟大   

# <f>.readlines(hint=-1) | 读入文件所有行,以每行为元素形成列表 如果给出参数,读入前hint行 
r4 = f.readlines()
print(r4) #['伟大的中国\n', '伟大的人民\n']

#第四种
for i in f.readlines():
    print(i)

写文件

写文件的常用方法

操作方法描述
<f>.write(s)向文件写入一个字符串或字节流
<f>.writelines(lines)将一个元素全为字符串的列表写入文件
<f>.seek(offset)改变当前文件操作指针的位置,offset含义如下: 0 – 文件开头; 1 – 当前位置; 2 – 文件结尾

例如

#首先我们要打开一个文件,需要有一个文件的对象
f = open("test.txt","w")

#  <f>.write(s)      向文件写入一个字符串或字节流    
s = "少年强则国强"
f.write(s)

# <f>.writelines(lines)    将一个元素全为字符串的列表写入文件  
l = ["馒头","大米","红烧肉"]
f.writelines(l)

#  <f>.seek(offset)    改变当前文件操作指针的位置,offset含义如下:  0  – 文件开头;  1  – 当前位置;  2  – 文件结尾   
f.seek(2)
f.write("zuguo")


#读文件也可以这样操作,但是这里的文本必须是英文,编码格式必须是UTF-8
#首先我们要打开一个文件,需要有一个文件的对象
f = open("test.txt","r+")

#这里的指针是指第一行的从几到几
#下标是从0开始的
f.seek(4)
r1 = f.readline()
print(r1)

删除文件

import os
os.remove("test.txt")
#大家先知道怎么使用,我们下一节课就讲解os模块

with语句

语法

with open(文件名) as 别名

例如

"""
f =  open("f.txt","rb")
a = f.readline()
print(a)
#打开一个文件,每一次都需要关闭文件
f.close()
"""

#和上面是一样的,只是不需要去关闭流
with open("f.txt","rb") as f:
    a = f.readline()
    print(a)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值