Python 【文件的操作】

来,今天我们来说说文件的操作
1.文件的读取
1>打开文件

 file = open(“文件名”, encoding = ‘UFT-8’)  #文件名注意大小写

2>读取文件

 text = file.read()
 print(text)

3>关闭文件

file.close()

例子:
这是我新建的一个txt文本
在这里插入图片描述
然后代码:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

#打开文件
file = open(r'C:\Users\asus\Desktop\美文.txt')
#读写文件
text = file.read()
print(text)

#关闭文件
file.close()

结果为:

亦余心之所善兮,虽九死其犹未悔!

2.文件指针
1>文件指针标记从哪个位置开始读取数据
2>第一次打开文件时,通常文件指针会指向文件的开始位置
3>当执行 read 方法之后,文件指针会移动到读取内容的末尾(默认情况下会移动到文件末尾)
PS:如果执行了一次read方法,读取了所有内容,那么再次调用read方法,就不能获得内容了

3.打开文件的方式
open 函数默认以只读方式打开文件,并且返回文件对象
语法:
f = open(“文件名”, ”访问方式”)

在这里插入图片描述
举个w的例子

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#打开文件
file = open(r'C:/Users/asus/Desktop/美文.txt', "w")
#读写文件
file.write('人有不为,而后可以有为!')

#关闭文件
file.close()

未执行代码之前,txt里写的是亦余心之所善兮,虽九死其犹未悔!
执行后,文件里的是人有不为,而后可以有为!

再举一个a的例子

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
file = open(r'C:/Users/asus/Desktop/美文.txt', "a")
file.write('\n')
file.write('亦余心之所善兮,虽九死其犹未悔!')
file.close()

我执行了2遍,现在文本里的是

人有不为,而后可以有为!
亦余心之所善兮,虽九死其犹未悔!
亦余心之所善兮,虽九死其犹未悔!

4.按行读取文件内容
1>read方法默认会把文件的所有内容一次性读取到内存,所以如果文件太大,对内存占用会非常严重。
2>readline 方法可以一次读取一行内容,方法执行后,会把文件指针移动到下一行,准备再次读取。

例子:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

file =  open(r'C:/Users/asus/Desktop/美文.txt')   #打开文件

while True :                       #如果不知道文件有几行,用True来无限循环
    text = file.readline()         #一行一行地读取
    if not text :                  #判断text是否有内容(来判断文件是否被读取完毕)
        break
    print(text)

file.close()

结果为:

人有不为,而后可以有为!

亦余心之所善兮,虽九死其犹未悔!

亦余心之所善兮,虽九死其犹未悔!

5.文件/目录的常用操作
首先需要导入 os 模块

在这里插入图片描述
6.文件操作之copy
很简单,利用前面的,先读取后写入就行了
文件小的可以直接读取

file_read = open(r'C:/Users/asus/Desktop/美文.txt')    #打开我们要copy的文件
file_write = open(r'C:/Users/asus/Desktop/美文2.txt', 'w')   #以‘只写’的方式打开我们需要加入copy内容的文件,如果文件不存在,则自动创建新文件

text = file_read.read()    #把所有内容读取进text
file_write.write(text)     #把内容写入file_write

file_read.close()    #把文件关闭
file_write.close()

文件大的可以一行一行地copy

#如果文件过大,可以一行一行地读取然后写入
file_read = open(r'C:/Users/asus/Desktop/美文.txt')    #打开我们要copy的文件
file_write = open(r'C:/Users/asus/Desktop/美文2.txt', 'w')   #以‘只写’的方式打开我们需要加入copy内容的文件,如果文件不存在,则自动创建新文件

while True :
    text = file_read.read()    #把所有内容读取进text
    if not text :
        break
    file_write.write(text)     #把内容写入file_write

file_read.close()    #把文件关闭
file_write.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值