python入门(11)文件操作

一、文件的概念

1.文件的概念和作用

  • 概念
    计算机中的文件,就是存储在某种长期储存设备上的一段数据
    长期存储设备包括:硬盘、U盘、移动硬盘、光盘…
  • 文件的作用
    将数据长期保存下来,在需要的时候使用

2.文件的存储方式

在计算机中,文件是以二进制的方式保存在磁盘上的
文本文件和二进制文件

  • 文本文件
    可以使用文本编辑软件查看
    本质上还是二进制文件
    例如:python的源程序
  • 二进制文件
    保存的内容不是给人直接阅读的,而是提供给其他软件使用的
    例如:图片文件、音频文件、视频文件等等
    二进制文件不能使用文本编辑软件查看

二、文件的基本操作

1.操作文件的套路

  • 操作文件三步骤
    打开文件
    读、写文件(读:将文件内容读入内存;写:将内存内容写入文件)
    关闭文件

2.操作文件的函数/方法

序号函数/方法说明
1open打开文件,并且返回文件操作对象
2read将文件内容读取到内存
3write将指定内容写入文件
4close关闭文件
  • open函数负责打开文件,并且返回文件对象
  • read、write、close三个方法都需要通过文件对象来调用

3.read方法 — 读取文件

  • open函数的第一个参数是要打开的文件名(文件名区分大小写);如果文件存在,返回文件操作对象,如果文件不存在,会抛出异常
  • read方法可以一次性读入并返回文件的所有内容
  • close方法负责关闭文件;如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问
  • 注意:方法执行后,会把文件指针移动到文件的末尾
# 1.打开文件
file = open("test.txt",encoding="UTF-8")
# 2.读取文件内容
text = file.read()
print(text)
# 3.关闭文件
file.close()

运行截图:
在这里插入图片描述

提示:通常会先编写打开和关闭的代码,再编写中间针对文件的读/写操作

4.文件指针

  • 文件指针标记从哪个位置开始读取数据
  • 第一次打开文件时,通常文件指针会指向文件的开始位置
  • 当执行了read方法后,文件指针会移动到读取内容的末尾

5.打开文件的方式

  • open函数默然以只读方式打开文件,并且返回文件对象
  • 语法如下: f = open(“文件名”,“访问方式”)
# 1.打开文件
file = open("test.txt","a",encoding="UTF-8")
# 2.读取文件内容
file.write("hello")
# 3.关闭文件
file.close()

在这里插入图片描述

  • 频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以只读、只写的方式来操作文件

6.readline方法

readline方法可以一次读取一行内容
方法执行后,会把文件指针移动到下一行,准备再次读取

# 1.打开文件
file = open("test.txt")

while True:
    # 读取一行内容
    text = file.readline()
    if not text:
        break
    print(text)
# 3.关闭文件
file.close()

运行截图:
在这里插入图片描述

7.文件复制—小文件

打开一个已有文件,读取完整内容,并写入到另外一个文件

# 1.打开文件
file_yuan = open("test.txt")
file_goal = open("test_copy.txt","w")
# 2.读写文件
text = file_yuan.read()
file_goal.write(text)
# 3.关闭文件
file_yuan.close()
file_goal.close()

8.文件复制 —大文件

打开一个已有文件,逐行读取内容,并顺序写入到另外一个文件

# 1.打开文件
file_yuan = open("test.txt")
file_goal = open("test_copy.txt","w")
# 2.读写文件
while True:
    # 读取一行内容
    text = file_yuan.readline()
    if not text:
        break
    file_goal.write(text)
# 3.关闭文件
file_yuan.close()
file_goal.close()

三、文件/文件夹的常用操作

  • 在终端/文件浏览器中可以执行常规的文件/目录管理操作,例如:创建、重命名、删除、改变路径、查看目录内容
  • 在python中,如果希望通过程序实现上述功能,需要导入os模块
  • 文件、目录操作都支持相对路径和绝对路径

1.文件操作

在这里插入图片描述

2.目录操作

在这里插入图片描述

import os
os.rename("123.txt","test_copy.txt.txt")
print(os.listdir("."))

运行截图:
在这里插入图片描述

四、文本文件的编码方式

文本文件存储的内容是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等。

python2.x默认使用ASCII编码

python3.x默认使用UTF- 编码

  • ASCII编码
    计算机中只有256个ASCII字符,一个ASCII在内存中占用1个字节的空间,8个0/1的排列组合方式一共有256种
  • UTF-8编码格式
    计算机中使用1~6个字节来表示一个UTF-8字符,涵盖了地球上几乎所有地区的文字;
    大多数汉字会使用3个字节
    UTF-8是UNICODE编码的一种编码格式

五、eval函数

eval函数— 将字符串当成有效的表达式来求值,并返回计算结果
在这里插入图片描述

  • 在开发时,不要使用eval直接转换input的结果(防止他人通过input输入代码破坏运行文件夹中内容
    __import__('os')..system('ls') 等价于
import os     
os.system("终端命名")

执行成功,返回0;执行失败,返回错误信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值