python基础--------文件

 

目录

 

 

 

一、文件介绍

二、读写文件简单操作

三、文件权限

四、文件操作

五、with

六、乱码

七、文件操作


 


一、文件介绍

1.定义:文本文件,超文本文件,图片,声音,视频,超链接

2.分类:文本文件和二进制文件

3.用作:保存数据

4.操作流程:打开文件,读写文件,关闭文件

二、读写文件简单操作

1.读取文件  read()

file 叫做文件句柄,用来操作文件

格式:file=open('文件路径',mode='模式')

file=open('file/a.txt',mode='r')
ret=file.read()
print(ret)
file.close

 

2.写文件

file=open('file/b.txt',mode='w')
file.write('aaaa')
file.close#关闭文件

三、文件权限

读操作r只读模式,读取全部内容,指针放在文件开头
rb二进制格式只读模式,指针放在文件开头
r+读写模式,指针放在文件开头
rb+二进制格式,读写模式,读取全部内容
写操作w只写模式,如果文件存在,删除原有内容,重新写入;如果文件不存在,创建新文件
wb二进制格式,只写模式,如果文件存在,删除原有内容,重新写入;如果文件不存在,创建新文件
w+读写模式,如果文件存在,删除原有内容,重新写入,如果文件不存在,创建新文件;先清空再去读写,先写再读,也读不到任何内容,因为光标在最后面
wb+二进制格式,读写模式,如果文件存在,删除原有内容,重新写入,如果文件不存在,创建新文件;
a用于文件追加,如果文件存在,将追加内容写到原有内容的后面,不会删除原有内容,如果文件不存在,创建新文件再写入内容。
ab二进制格式,用于文件追加,如果文件存在,将追加内容写到原有内容的后面,不会删除原有内容,如果文件不存在,创建新文件再写入内容
a+用于文件读写模式,如果文件存在,光标放在内容的末尾,写入内容,如果不存在,就创建新的文件。光标在写入内容的末尾,所以读取内容什么都读不到
ab+二进制格式,读写模式,如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

四、文件操作

1.读操作

1>read()读取全部内容

file=open('file/b.txt',mode='r')
ret=file.read()
ret1=file.read(3)#指定读取内容的个数
print(ret)
print(ret1)

2>readline() 每次只读取一行

file=open('file/b.txt',mode='r')
ret=file.readline()#只读取一行
print(ret)

3>readlines()能够读取多行内容,打印出来是一个列表

file=open('file/b.txt',mode='r')
ret=file.readlines()#将所有行的内容读取出来保存到一个列表中,每一行作为一个元素
print(ret)

 4>循环读取

file是句柄,是一个可迭代的对象,可循环读取文件中的内容,每次读一行

file=open('b.txt',mode='r')
for line in file:
    print(line)

2.写操作

1>write()

删除原有内容,重新写入,不会创建新文件

file=open('b.txt',mode='w')
file.write('aaaa')
file.close


结果:
aaaa

2>writelines()

可传递一个可迭代的内容,一次写入多个内容

file=open('file/b.txt',mode='w')
lst=['aaa','bbb','ccc']
file.write(lst)
file.close



结果:
aaabbbccc

3.其他操作

1>tell()

获取文件中当前光标所在位置

file=open('b.txt',mode='r')
ret=file.read(3)
ret1=file.tell()
print(ret1)


结果:
3

 

2>seek()

移动光标位置

‘r’模式下,seek(a,b)中,第一个参数只能为0.否则报错。

第二个参数为0--------->光标放在开头位置

                     1---------->光标在当前位置不动

                      2--------->光标在内容末尾位置

 

file=open('b.txt',mode='r')
ret=file.read(3)
file.seek(0,2)#光标放再末尾
print(file.read(3))#什么都没有
file.close

 

file=open('b.txt',mode='rb')
ret=file.read(3)
file.seek(-1,1)
#file.seek(-1,0)#会报错
print(file.read(3))
file.close

 解析:

 

3>name和demo

 

五、with

使用with,可以不关闭文件,不再写file.close(),他会自动关闭文件

注意:不要出来写文件操作

with open('b.txt',mode='r') as f:
    ret=f.read(3)
    print(ret)
#print (f.read(3))---->报错

六、乱码

乱码原因:读写不一致操作导致乱码

Windows操作系统默认是GBK

with open('b.txt',mode='w') as f:
    f.write('你好世界')#——————报错

 解决办法:

指定编码格式:

with open('b.txt',mode='w',encoding='uft-8') as f:
    f.write('你好世界')



结果:
你好世界

 

 

 

七、文件操作

OS模块

文件重命名os.rename(原文件名,新文件名)
删除文件os.remove()
创建目录os.mkdir ()创建一层目录
os.makedirs()创建多级目录
删除目录os.rmdir()  删除一层目录
os.removedifs() 删除多级目录,只删除空目录
获取当前所在目录os.getcwd()
获取目录列表os.listdir()
切换所在目录os.chdir(path+ ' 目录' )
判断文件或文件夹是否存在os.path.extis()
判断是否为文件夹

os.path.isfile()

判断是否为目录os.path.isdir()
获取绝对路径os.path.abspath()
判断是否为绝对路径os.path.isabs()
获取路径中的最后部分os.path.basename()
获取父目录os.path.dirname()
将多个目录组织成路径返回os.path.join()
获取文件信息os.path.getatime()--->最后访问时间
os.path.getctime()--->查看创建时间
os.path.getmtime()--->最后的修改时间
os.path.getsize()---->查看文件大小

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值