Python文件及目录的操作

1.创建和打开文件(使用open()函数):

(1)语法格式:file=open(filename,[,mode[,buffering]])
*file:被创建的文件的对象
*filename:要创建或打开的文件名
*mode:可选参数,用于指定文件的打开模式(常用的打开模式:r,rb,r+,rb+,w,wb,w+,a,ab,a+,ab+)
*buffering:可选参数,用于指定文件的缓冲模式

2.关闭文件(使用文件对象的close()方法):

语法格式:file.close()

3.with语句打开文件:

(1)语法格式:with expression as target:
with-body
(2)在打开文件时如果出现异常,将导致文件不能被及时关闭,使用with语句时,无论是否出现异常,都能保证文件可及时关闭。

4.写入文件内容:

(1)语法格式: file.write(string)
(2)注:在写入文件后,一定要用close()方法关闭文件,否则写入的内容不会保存到文件中。因为在写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来,再调用close方法时,操作系统才会保证把没有写入的数据全部写入磁盘。
(3)写入文件内容好,如果不想马上关闭文件,也可调用文件对象提供的flush()方法,把缓冲区的内容写入文件。
(4)Python提供了writelines()方法,可以把字符串列表写入文件,但不添加换行符。

5.读取文件:

(1)读取指定字符:file.read([size]):
size为可选参数,用于指定要读取的字符的个数,如果省略则一次性读取全部内容。
注:调用read()方法的前提是:打开文件时,open()的打开模式为r或r+。
如果需要读取部分内容,可以先使用文件对象的seek()方法将指针移动到新的位置,然后再用read()方法读取。
file.seek(offset[,whence])
Offset:用于指定移动的字符个数,其具体位置与whence有关。
Whence:用于指定从什么位置开始计算。
(2)读取一行:
语法格式:file.readline()
注:打开文件时,需要指定打开模式为r或r+。
(3)读取全部行:
语法格式:file.readlines()
readlines()的返回值为一个字符串列表,在这个列表中,每个元素记录一行内容。

6.os和os.path模块:

在Python中,内置了os模块及其子模块os.path,用于对目录或文件进行操作。os模块常用的变量有:
(1)name:可获取操作系统类型。
(2)linesep:用于获取当前操作系统上的换行符。
(3)sep:用于获取当前操作系统所使用的路径分隔符。

7.路径:

(1)相对路径:依赖于当前工作目录的路径。
(2)绝对路径:在使用文件时指定文件的实际路径,它不依赖于当前工作目录。
(3)拼接路径:使用os.path模块提供的join()函数将两个或多个路径组成一个新的路径。

8.判断目录是否存在:

使用os.path提供的exists()函数实现。
格式为:os.path.exists(path)
返回值:如果目录存在,返回True,否则返回False。

9.创建目录:

(1)创建一级目录:os.mkdir(path,mode=0o777)
(2)创建多级目录:os.makesdirs(name,mode=0o777)

10.删除目录:

语法格式:os.rmdir(path)
注:只有当要删除的目录为空时才发挥作用。

11.遍历目录:

语法格式:os.walk(top[,topdown][,onerror][,followlinks])
top:用于指定要遍历内容的根目录。
topdown:可选参数,用于指定遍历目录的顺序,如果只为True,表示自上而下遍历,默认为True。
onerror:可选参数,用于指定错误处理方式,默认为忽略。
followlinks:可选参数,默认情况下,walk()函数不会向下转换成解析到目录里的符号链接。
返回值:返回一个包括三个元素的元组生成器对象(dirpath,dirnames,filenames)。其中,dirpath表示当前遍历的路径,是一个字符串;dirnames表示当前路径下包含的子目录,是一个列表 ;filenames表示当前路径下包含的文件,也是一个列表。

12.删除文件:

语法格式:os.remove(path)
注:如果指定的文件不存在时,会报错,因此,使用时要先判断文件是否存在。

13.重命名文件和目录:

语法格式:os.rename(src,det)
含义:将文件名src重命名为dst
注:当文件src不存在时,会抛出FileNotFoundError的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值