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

文本文件和二进制文件

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

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

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

打开方法

说明

r

以只读的方式打开文件。文件指针在文件开头,调用open()时,为选择方法时,默认以只读打开。当文件不存在时,抛出异常

w

以只写的方式打开文件。如果文件存在会被覆盖,如果文件不存在,创建新文件

a

以追加的方式打开文件。如果文件已存在,会在文件的末尾追加内容。如果文件不存在,创建新文件进行写入

r+

以读写方式打开文件。文件的指针会放在文件开头。文件不存在,抛出异常。

w+

以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件

a+

以读写方式打开文件。如果该文件已存在,文件指针会放在结尾,如果文件不存在,创建新文件写入

2.读取文本文件

read为文本文件

python读取然后保存文件 在python中读取文件_开发语言

#打开文件
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()

python读取然后保存文件 在python中读取文件_python_02

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

 5.写入文本文件

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

 使用"a"追加地结果

python读取然后保存文件 在python中读取文件_打开文件_03

 使用"w"覆盖文件

python读取然后保存文件 在python中读取文件_打开文件_04

 

 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()

python读取然后保存文件 在python中读取文件_后端_05