Python初学(11)两种文件的读取和写入

在计算机中,文件都以二进制保存在磁盘中

文本文件和二进制文件

文本文件本质上还是二进制文件,但可用文本编辑器查看

二进制文件不能直接查看,要用对应的软件查看

一、文本文件的读取和写入
1.打开文本文件的方法

打开方法说明
r以只读的方式打开文件。文件指针在文件开头,调用open()时,为选择方法时,默认以只读打开。当文件不存在时,抛出异常
w以只写的方式打开文件。如果文件存在会被覆盖,如果文件不存在,创建新文件
a以追加的方式打开文件。如果文件已存在,会在文件的末尾追加内容。如果文件不存在,创建新文件进行写入
r+以读写方式打开文件。文件的指针会放在文件开头。文件不存在,抛出异常。
w+以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a+以读写方式打开文件。如果该文件已存在,文件指针会放在结尾,如果文件不存在,创建新文件写入

2.读取文本文件

read为文本文件

#打开文件
file = open("read")
#读取文件
#read(),括号里没有数字,默认读取全部
#read(n),最多读取n个字符,返回一个字符串
text = file.read()
print(text)
#关闭文件
file.close()

hello python
hello world

 3.分行读取文件

file = open("read")
#无限循环
while True:
# readline()读取一行内容
# readlines()读取剩余行的内容
    text = file.readline()
#退出循环地条件(文本指针到最后)
    if not text:
        break
    print(text)
file.close()

hello python

hello world

 逐行读取文本文件

 4.文件指针

#打开文件
file = open("read")
#读取文件
#第一次读取文件,指针在开头
text = file.read()
print(text)
#分别用len()函数计算读取到的文件长度
print(len(text))

print('*'*50)
#再次读取文件,文件指针已经移动到文件末尾
text = file.read()
print(text)
#指针到末尾,没有数据在进行读取
print(len(text))
#关闭文件
file.close()

 第一次读取从开头读取到24个字符,第二次从结尾开始读取,未读取到数据。

 5.写入文本文件

#打开文件
#file = open("read","w")
file = open("read","a")
#写入文件
file.write("hello pycharm")
#关闭
file.close()

 使用"a"追加地结果

 使用"w"覆盖文件

 

 5.文本文件地复制

(1)小文件复制

文件较小,直接逐个复制

#打开两个文件
#read2以只读打开
# read2[小文件复制]以只写打开
file_read = open("read2")
file_write = open("read2[小文件复制]", "w")
#读写操作
text = file_read.read()
file_write.write(text)
#关闭文件
file_write.close()
file_read.close()

(2)大文件复制

文件较大,利用循环逐行输入

#打开两个文件
#read2以只读打开
# read2[大文件复制]以只写打开
file_read = open("read2")
file_write = open("read2[大文件复制]", "w")
#读写操作
while True:
    text = file_read.readline()
    if not text:
        break
    file_write.write(text)
#关闭文件
file_write.close()
file_read.close()

二、二进制文件的读取和写入

"rb"   以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常   

"wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件

#以二进制只读方式打开
file_read=open("picture.png",'rb')
#以二进制只写方式打开
file_write=open("picture[复制].png",'wb')
#将二进制只读复制到二进制只写中
file_write.write(file_read.read())

file_write.close()
file_read.close()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值