python笔记9---文件操作

文件操作

#打开,关闭文件(open,close)
#分路径,相对路径,绝对路径
#相对路径 9.文件操作.txt 在当前使用的路径下寻找改文件
#绝对路径 C:\Users\ASUS\Desktop\py笔记\9.文件操作.txt

#r 以只读方式打开,文件指针默认放在文件开头
#r+ 打开一个文件用于读写,指针放于开头
#w 以只写形式打开,文件存在则覆盖,不存在则创建
#w+ 打开一个文件用于读写,文件存在则覆盖,不存在则创建
#a 以追加形式打开文件,指针在文件结尾,不存在则创建新文件
#a+ 打开一个文件用于读写,指针在文件结尾,不存在则创建新文件
#后加b代表以二进制格式打开文件-》音频,图片,视频是以二进制方式打开的
#文本模式,是以str进行

方法

f.read() 读取指定大小的内容
f.readline() 读取一行内容
f.readlines() 读取多行内容
f.write(data) 写入内容
f.writelines(lines) 写入多行内容,需要自己加换行符
f.flush() 立即刷新缓冲
f.tell() 获得指针位置
f.seek(positon) 调整指针位置 0为初始位

a=r'C:\Users\ASUS\Desktop\py'
b=r'\9.文件操作.txt'
fp=open(a+b,'r')
print(fp.read())
fp.seek(1)#->调整指针位置
print(fp.readline())
print(fp.readlines())
fp.close()
fp=open(a+b,'w+')
fp.write('hello\nop')

##文件存到内存当中 临时存放东西的 重启后内存中的数据消失不见
import io
myio=io.StringIO()
myio.write(‘hello’)
print(myio.getvalue())
print(myio.getvalue())#可重复读取数据
myio.close()#关闭,清除数据
#print(myio.getvalue())#关闭后无法读取
#二进制数据
myio=io.BytesIO()
myio.write(‘hello’.encode())
print(myio.getvalue())

上下文管理

with open(a+b,'r+') as f:#自动关闭文件
    # f.write('hello nihao')
    f.seek(0)
    print(f.read())
with open(a+b,'r+') as fp,\
     open(a+r'\o.txt','w+',encoding='utf-8') as  fp1:
          fp.write('nihao')
          fp1.write('hello')
          # fp.flush()
          fp.seek(0)
          print(fp.read())
          print(fp1.read())
__enter__和 __exit__
__enter__ 进入的时候自动调用 在使用with as内代码前调用
__exit__  退出的时候自动调用 with as里面的代码执行完后调用
class A:
    def __enter__(self):
        print("进入的时候自动调用 使用with as内代码")
        fp=open(a+r'\9.文件操作.txt','r')
        print(fp.read())
        return fp#with as 设定的指针
    def __exit__(self, exc_type, exc_val, exc_tb):
        print('退出的时候自动调用 with as 里面的代码执行完')
        fp.close()#这里的指针名对应with as的指针
#H=A()
with A() as fp:
    print(1111)

两个常用参数

#errors=ignore->忽略错误输出,出错忽略
#encoding=什么编码格式
#with open(a+r’\9.文件操作.txt’,‘r’,encoding=‘ASCII’,errors=‘ignore’) as f:
#print(f.read())

os 文件和目录(文件夹)

#import os
#print(os.getcwd())#显示当前路径
#print(os.listdir(r’C:\Users\ASUS\PycharmProjects\untitled2\venv’))#显示当前路径下的所有文件
#os.chdir()#改变当前路径
#os.mdikr(r’D:\aaa’)#创建一个新文件夹aaa
#os.rmdir(r’D:\aaa’)#删除该文件
#os.remove(r’文件地址’)#删除指定路径下的文件
#os.rename(‘a.txt’,‘aa.txt’)#文件名替换

#解释器在Windows上面可以使用Windows命令,如果在linux上面就可以使用linux命令
#当我吗用open w的方式创建文件时,如果解释器在linux上 文件就在Linux上,本地不会有
#os.system()

os.path模块

#os.path.join(r’C:’,‘wer\ty\op.txt’)#路径拼接
#os.path.relpath(r’a.txt’)#查相对路径
#os.path.abspath(r’a.txt’)#查绝对路径
#os.path.isabs()#是否为绝对路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值