十三、python中的文件操作

首先,现在项目下新建一个文件,名为"test.txt"

1、文件操作的几个要素

1、文件路径
2、编码方式,如gbk等
3、操作方式,如只读、只写、追加、读写、写读等。
4、open函数,在做所有操作之前,打开一个文件是首先的
附: 操作文件有两种形式,一种是通过文件句柄进行,另一种是通过with关键字进行。

2、读取文件的操作

通过文件句柄读取文件

1、通过read()函数即rb模式读取文件
实例:
首先,向test.txt文件中写入“dmadmfahda人”内容
然后,在.py文件中输入以下代码

 f = open('test.txt','r',encode='utf-8') #打开文件
 context = f.read()
 print(context)

在这里插入图片描述
读取文件的基本步骤:

  1. 调用open()函数打开文件,并设置其模式为读取类型的模式,再设置其编码;需要用一个变量去接收open()函数返回的文件句柄
  2. 通过open()函数返回的文件句柄调用相应的读取函数,用一个变量接收其返回值即可。

注(open函数中的第二个参数): 该函数用来指定操作文件的模式,主要有以下几个:

  1. r:只读操作
  2. w:只写操作
  3. a:只追加操作
  4. r+:读写操作
  5. w+:读写操作,由于有w存在,会清空原有文件,然后进行写,此时进行读取操作自然读到的为空文件
  6. a+:可以将写入的和原有的内容全部读出来
  7. rb:只读操作,并且以bytes形式输出内容
  8. wb:只写操作,并且以bytes形式输出内容
  9. ab:追加操作,并且以bytes形式输出内容

2、以rb模式读取文件,注意,此时不能指定编码格式(即encoding参数)实例如下:
在这里插入图片描述
在这里插入图片描述
3、在文件读取中常用的函数

  1. read():直接读取出文件内的所有内容
  2. readline():一行一行的读,该方法可以传入一个参数,用来指定读取的字符个数,而非读取的行数。
  3. readlines():每一行当成列表中的一个元素,添加到列表当中
  4. truncate(a):读取原文件位置a以前的文件
  5. close():关闭文件句柄
  6. tell():获取文件中当前光标所在的位置,在端点续传等功能有重要应用。
  7. seek(a):a为整数,可以调节文件中当前光标的位置,在文件的读写操作中都有非常重要的作用。
通过with关键字读取文件

以一个实例为例:

context = ""
with open('test.txt','r',encoding='utf-8') as f:
	context = f.read()
print(context)

在这里插入图片描述
可以看到,用with关键字读取文件的操作不需要使用close()方法关闭文件。其操作的基本语法如下:

with open(文件路径,读取的模式[,文件的编码]) as 句柄名:
	context = 句柄名.具体的读取函数()

4、文件内容的修改操作

向文件中写入内容

python中向文件中写入内容有两种大的方法:

  1. 以开头的“w”模式:由于每次用open打开文件时,光标会默认在第一个位置,所以当使用此模式时,文件中原来的内容会被清空,只留下新写入的内容。
  2. “a”和“ab”模式:追加,相比于1中的“w”模式,这个模式不会清空文件中的内容。

实例: 向“test.txt”文件中写入内容(用with关键字)

with open("test.txt",'w',encoding='utf-8') as fi:
    s = "dadaasdfmd\nsdamsdfa\nfasdfna" #\n表示换行
    fi.write(s)

由此可见,文件的修改操作和读取操作的过程及语法极为类似,只需要在open函数中修改相应的模式为写模式而非读取模式,然后调用相应的写即可。

5、重命名和删除文件的操作

在python中,与操作系统进行直接交互的,大都要用到os模块,比如获取当前文件夹路径等等。这里介绍几个该模块下的函数:

  1. 重命名:os.rename(,src,newsrc)
  2. 删除文件:os.remove()
  3. 删除空目录:os.removedirs()和rmdir()
  4. 执行命令行命令:system(command)
  5. 创建文件夹:mkdir()(一次只能创建一级文件夹)
  6. 创建多级文件夹:makedirs()

注: 删除非空目录则需要使用到另外的模块shutil下的方法rmtree(),该方法可以直接将一个非空目录进行删除。

6、对csv文件的操作

对于这种文件的操作,需要使用到python的内置模块csv模块,具体的过程如下:

  1. 写入步骤:
		1. file = open(路径,模式,编码,newline=""):打开文件,newline的参数指定的是新的一行怎么写,即下一次writerow的内容与本次的内容的间隔符,默认换行,即写完后的内容会与上一行间隔一行
		2. c = csv.writer(file,dialect):写入文件,其中dialect指定写入的格式,默认为excel
		3. c.writerow([]):写入内容,即一行所写入的内容,传入一个列表
		4. file.close()关闭文件
  1. 读取步骤:
		1. file = open(路径,模式,编码):打开文件
		2. lines = csv.reader(file) #获取读取到的内容对象
		3. 用循环进行读取
			for line in lines:
				print(line)	#从这里可以看出,line是一个列表,即其返回的内容有点类似于二维列表
		4. 关闭文件:file.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值