python学习笔记-文件操作

python学习笔记-文件操作

文件操作的基本步骤

1. 打开文件
使用open函数打开文件
Open(name,mode)
Name:打开文件的文件名 (可以包含文件所在的具体路径)
Mode:设置打开文件的模式:只读,写入,追加

	f = open('test.txt','w')   #创建文件对象   创建位置在当前路径
	f.write('aaa')  #写入文件
	f.close()   #关闭文件

访问模式的特点

1. r
只读模式 如果文件不存在进行报错 不支持写入操作

2. w
如果文件不存在 新建一个文件 ,如果写入的文件变化了 那么 原有的文件内容会被覆盖

3. a
如果文件不存在 新建一个文件,如果写入的文件内容变化了 原有的内容不会被覆盖 在原有的内容基础上 追加新的内容

**4. 省略访问模式 **
默认只读模式

文件操作read()

语法:文件对象.Read(num) num表示从文件中读取数据的长度(单位是字节) 如果没有传入num 表示 读取文件中的所有数据

 = open('test.txt','r')
	print(f.read(10))                   #第一行数据 换行符占据一个字节
	
	f.close()

文件操作readlines()

Readlines()按照行的方式将整个文件内容进行读取,并且返回的是一个列表,其中每一行的数据为一个元素。

	f = open('test.txt')
	content = f.readlines()
	print(content)
	f.close()

可以看到 打印出来的数据 是一个列表,列表中的每一个元素是 文件中的一行 并且最后一个字符是换行符\n

[‘aaaaa\n’, ‘bbbbb\n’, ‘ccccc\n’, ‘ddddd\n’, ‘eeeee\n’]

readline()

	一次读取一行数据
	f = open('test.txt','r')
	content = f.readline()
	print(f'第一行数据:{content}')
	content = f.readline()
	print(f'第二行数据:{content}')
f.close()

访问模式的特点

Rb 以二进制形式打开一个文件 只读,文件的指针会放在文件的开头

Wb 以二进制的形式打开一个文件用于写入 文件不存在 创建该文件

R+ 打开一个文件用于读写

W+打开一个文件用于读写 原有的数据全部都会被清除(覆盖)

A a+ ab ab+ 追加访问模式 文件指针都在结尾 文件不存在 会创建该文件

seek函数

用来移动文件指针

语法:文件对象.seek(偏移量,起始位置)

起始位置:0:文件开头
1:当前位置
2:文件结尾

f = open(‘test.txt’,‘r’)
“”"
目标:r 改变文件指针位置 改变读取开始位置或者把文件指针放在结尾
a 改变文件指针位置 做到可以读取出来数据
“”"

#从第一个字符开始 两个字符不读取 也就是前两个字符不读取
#将文件指针放到结尾 读不到数据

	f.seek(2,0)
	
	#读取所有的数据
	con = f.read()
	print(con)
	
f.close()

文件备份

#接受用户输入目标文件名
old_name = input("请输入您要备份的文件名:")
	print(old_name)
	
#提取文件后缀点的下标  最后一个点  从右边开始找  字符串.rfind(‘’)
index = old_name.rfind('.')
print(index)
#字符串切片  [开始:结束:切片]
#开始位置不写  默认从0开始
s = old_name[:index]
print(s)
	
ss = old_name[index:]
print(ss)
	
#组成新的名字
new_name = old_name[:index] + '[备份]' + old_name[index:]
print(new_name)

文件备份写入数据

	 #接受用户输入目标文件名
	old_name = input("请输入您要备份的文件名:")
	print(old_name)
	
	#提取文件后缀点的下标  最后一个点  从右边开始找  字符串.rfind(‘’)
	index = old_name.rfind('.')
	print(index)
	#字符串切片  [开始:结束:切片]
	#开始位置不写  默认从0开始
	s = old_name[:index]
	print(s)
	
	ss = old_name[index:]
	print(ss)
	
	new_name = old_name[:index] + '[备份]' + old_name[index:]
	print(new_name)
	
	#打开源文件和备份文件
	old_f = open(old_name,'rb')
	new_f = open(new_name,'wb')    #如果不存在备份文件  创建该文件不能使用rb
	
	#源文件读取  备份文件写入
	#如果不确定目标文件大小 循环读取写入   当读取出来的数据没有了  终止循环
	
	while True:
	    con = old_f.read(1024)
	    if len(con) == 0:
	        break  #读取完成
	
	    new_f.write(con)

文件夹和文件夹操作

	1. 导入os模块  
	Import os
	
	2. 使用os模块的相关功能
	Os.函数名()
	
	
	os.rename(原文件名,目标文件名)   #也可以用于文件夹命名
	Os.remove(目标文件名)
	
	
	Os.mkdir(文件夹名字)   #创建文件夹
	
	os.mkdir('document1')
	
	OS.rmdir(文件夹名字) #删除文件夹
	os.rmdir('document1')
	
	
	Os.getcwd()  #获取当前目录
	
	OS.chdir()   #改变文件路径
	print(os.getcwd())#当前文件所在的路径
	
	os.mkdir('aa')
	os.chdir('aa')
	os.mkdir('bb')
	
	
	Os.listdir()    显示当前路径目录列表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少写代码少看论文多多睡觉

求打赏,求关注,求点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值