Python基础刻意练习:文件与文件系统

task7

一.文件

1.创建和打开文件

在Python中,想要操作文件,需要先创建或者打开指定文件并创建文件对象,可以通过内置的open()函数实现。
语法格式:file=open(filename[,mode[,buffering]])
#flie:被创建的文件对象
filename:要创建或打开文件的文件名称,需要使用单引号或者双引号括起来。如果要打开的文件和当前文件在同一目录下,那么直接写文件名即可,否则需要制定完整路径。
mode:可选参数,用于指定文件的打开模式。默认的打开模式为只读,即r。
在这里插入图片描述
buffering:可选参数,用于指定读写文件的缓冲模式,值为0表示不缓存;值为1表示缓存;如果大于1,则表示缓冲区的大小。默认为缓存模式。

(一)打开一个不存在的文件时先创建该文件

在默认情况下,使用open()函数打开一个不存在的文件
eg:
在这里插入图片描述
要解决上图出现的错误,主要有两种方法
①在当前目录下创建一个名称为status.txt的文件;
②在调用open()函数时,指定mode的参数值为w、w+、a、a+。这样,当要打开的文件不存在时就可以创建新的文件了。

(二)以二进制形式打开文件

eg(以二进制形式打开一个图片文件):

file=open('picture.png','rb')#以二进制形式打开图片文件
print(file)#输出创建的对象
(三)打开文件时指定编码方式

在使用open()函数打开文件时,默认采用GBK编码,当被打开的文件不是GBK编码时,会出现异常。
在调用open()函数时,可以通过添加encoding='utf-8’参数即可将编码指定为UTF-8。如果想要指定其他编码,可以将单引号中的内容替换为想要指定的编码。

2.关闭文件

打开文件后,需要及时关闭,避免对文件造成不必要的破坏。关闭文件可以使用文件对象的close()方法实现。
语法格式:file.close()

3.打开文件时使用with语句

在打开文件后,要及时将其关闭,如果忘记关闭可能会带来想不到的问题。另外,如果在打开文件时抛出了异常,那么将导致文件不能被及时关闭。为避免发生此类问题,可以使用Python提供with语句,从而实现在处理文件时,无论是否出现异常,都能保证with语句执行完毕后关闭已经打开的文件。
语法格式:with epression as target:
with-body
#expression:用于指定一个表达式,这里可以是打开文件的open()函数;
target:用于指定一个变量,并将expression的结果保存到该变量中;
with-body:用于指定with语句体,其中可以是执行with语句后相关的一些操作语句,如果不想执行任何语句,可以直接使用pass语句代替。
eg:

print("\n","="*10,"****","="*10)
with open('message.txt','w') as file:
pass
print("\n即将显示......\n")

二.文件系统

1.os和os.path模块

在Python中,内置了os模块及其子模块os.path用于对目录或文件进行操作。在使用时,需要先用import语句将其导入,然后才能应用它们提供的函数和变量。
eg:import os
导入os模块后,可以使用该模块提供的通用变量获取与系统有关的信息。
常用变量有:
①name(用于获取操作系统类型)
们所知道常用的操作系统就有:Windows,Mac OS,Linu,Unix等,这些操作系统底层对于文件系统的访问工作原理是不一样的,因此你可能就要针对不同的系统来考虑使用哪些文件系统模块……,这样的做法是非常不友好且麻烦的,因为这样就意味着当你的程序运行环境一改变,你就要相应的去修改大量的代码来应对。
有了OS(Operation System)模块,我们不需要关心什么操作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。
eg:
在这里插入图片描述
②linesep:用于获取当前操作系统的换行符
eg:
在这里插入图片描述
③sep:用于获取当前操作系统所使用的路径分隔符
eg:
在这里插入图片描述

2.删除文件

Python中没有内设删除文件的函数,但是在内置的os模块中提供了删除文件的函数remove()
语法格式:os.remove(path)

3.获取文件基本信息

在计算机上创建文件后,该文件本身就会包含一些信息。通过os模块的stat()函数可以获取文件的一些信息,如:最后一次修改时间、文件大小等。
语法格式:os.stat(path)

以上就是我整理的task7的全部内容,感谢你的浏览。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值