Python编程——文件读写操作(with语句)

with语句相比较以往的读写文件,能自动帮我们调用close()方法,避免浪费系统的资源。

一、读写文本文件

1、向文本中写内容:

语法如下:

with open (“1.txt” , “w” , encoding = “UTF-8”) as f:

f.write("… …")

#向1.txt文件中写入文本
with open ("1.txt","w",encoding="UTF-8") as f:
    f.write("123\n")
    f.write("i love you\n")
    f.write("中国!")
2.读取文件中的内容

语法如下:默认为读
with open (“1.txt”, encoding= “UTF-8”) as f:
f.read()
f.readline()
f.readlines()

  • read(): 读取文件中的全部内容,读取的类型为字符串;
  • read(n): 以此读取n个字符;
  • readline(): 按行读取文件中的内容,读取的类型为字符串,而且readline()默认换行;
  • readlines(): 读取文件中的全部内容,读取的类型为列表,其中每一行为列表中的一个元素;
#read()方式读取文件
with open("1.txt",encoding='utf-8')as f:
    txt=f.read()
    print(txt)
    print(type(txt))
print('===============================')
 
#readline()方式读取文件
with open("1.txt",encoding='utf-8')as f:
    while 1:
        #readline()默认换行
        txt=f.readline()
        if txt:
            print(txt,end='')
        else:
            break
    print(type(txt))
print('===============================')
 
#readlines()方式读取文件
with open("1.txt", encoding='utf-8')as f:
     # readlines()读取的是个列表,每行为一个列表元素
     txt = f.readlines()
     print(txt)
     print(type(txt))


结果如下:
123
i love you
中国!
<class 'str'>
===============================
123
i love you
中国!<class 'str'>
===============================
['123\n', 'i love you\n', '中国!']
<class 'list'>

二、读写二进制文件

如视频、音频、图片等需要一位一位的去读写。

1、读取信息:
with open("1.jpg",'rb')as f:
    t=f.read(3)
    print(t,type(t))
 
 
结果如下:
b'\xff\xd8\xff' <class 'bytes'>
2、写入信息:

具体示例参看3中例子

with open ('2.jpg','wb')as f:
    f.write(t)
3、先读后写——>复制:

如下示例:将图片1.jpg复制了一份,到2.jpg中去;

#先读在写———即所谓的,复制粘贴
with open("1.jpg",'rb')as f:
    t=f.read()
    print(type(t))
 
with open ('2.jpg','wb')as f:
    f.write(t)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值