python- - - - -文件

文件

文件的概念
计算机的文件,就是储存在某种长期储存设备上的一段数据
长期储存设备包括:硬盘、U盘、移动硬盘、光盘…

文件的作用

将数据长期保存下来,在需要的时候使用

文件的储存方式

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

文本文件和二进制文件

文本文件:

可以使用文本编译软件查看
本质上还是二进制文件
例如:python 的源程序

二进制文件

保存的内容不是给人直接阅读的,而是提供给其他软件使用的
例如:图片文件、音频文件、视频文件…
二进制文件时不能使用文本编译软件查看

文件的操作

在计算机中操作文件的套路非常固定,一共包括三个步骤:
1.打开文件
2.读、写文件
将文件内容读入内存中
将内存内容写入文件
3.关闭文件

操作文件的函数/方法

在 python 中操作文件需要记住1个函数和3个方法

函数/方法说明
open打开文件,并返回文件操作对象
read将文件内容读入内存
write将指定内容写入文件
close关闭文件

open 函数负责打开文件,并且返回文件对象
read/write/close 三个方法都需要通过文件对象来调用

read方法- - - - -读取文件

open 函数的第一个参数就是要打开的文件名(文件名区分大小写)
如果文件存在,返回操作对象
如果文件不存在,则会抛出异常

read 方法可以一次性读入并且返回文件的所有内容
close 方法负责关闭文件

如果忘记关闭文件,会造成系统资源消耗,而且会影响后续对文件的访问

注意: 方法执行后,会把文件指针移动到文件末尾

打开文件的方式

open 函数默认以 只读方式发开文件,并且返回文件对象

语法如下:

f = open("文件名", "访问方式")
访问方式说明
r以只读的方式打开文件,文件指针将会放在文件的开头,这是默认方式,如果文件不存在,抛出异常
w以只写的方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新的文件
a以追加的方式打开文件,如果文件已经存在,文件指针将会放在文件的末尾,如果文件不存在,创建新的文件写入
r+以读写方式打开文件,文件指针将会放在文件的开头,这是默认方式,如果文件不存在,抛出异常
w+以读写方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新的文件
a+以读写方式打开文件,如果文件已经存在,文件指针将会放在文件的末尾,如果文件不存在,创建新的文件写入

**提示:**频繁的移动文件指针,会影响到文件的读写效率,开发时更多的时候以 只读、只写的方式进行操作文件

按行读取文件内容

read 方法默认会把文件的所有内容一次性读取到内存
如果文件太大,对内存的占用会非常严重

readline 方法

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

例子:

# 打开文件
file = open("文件名")

while Ture:
	# 读取一行内容
	text = file.readline()
	# 判断是否读到内容
	if not text:
		break
	
	# 每读取一行末尾已经有了一个"\n"
	print(text, end="")
# 关闭文件
file.close()

复制文件

例子:小文件复制

# 首先打开两个文件,文件1有初始内容,文件2为空白文件
file1 = open("文件名1")
file2 = open("文件名2", "w")

# 进行操作
text = file1.read()
file2.write(text)

# 关闭文件
file1.close()
file2.close()

大文件复制

如果源文件非常非常大,一次性将源文件读取出来就不太合适了,所以我们就可以使用一行一行地读、写

# 首先打开两个文件,文件1有初始内容,文件2为空白文件
file1 = open("文件名1")
file2 = open("文件名2", "w")

# 进行操作
while Ture:
	text = file1.readline()
	# 判断是否读取到了内容
	if not text:
		break
	
	file2.write(text)
	
# 关闭文件
file1.close()
file2.close()

文件/目录的常用管理操作

在终端/文件浏览器中可以执行常规的文件/目录管理操作
例如:
创建、重命名、删除、改变路径…

在 python 中如果希望通过程序实现上述功能,就需要导入 os 模块
(ipython3)

文件操作

方法名说明示例
rename重新命名文件os.rename(源文件名,目标文件名)
remove删除文件os.remove(文件名)

目录操作

方法名说明示例
listdir目录列表os.listdir(目录名)
mkdir创建目录os.mkdir(目录名)
rmdir删除目录os.rmdir(目录名)
getcwd获取当前目录os.getcwd()
chdir修改工作目录os.chdir(目标目录)
path.isdir判断是否是文件os.path.isdir(文件路径)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值