python 文件操作

一. 打开文件
open(name,mode)
name:要打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置打开文件的模式(访问模式):只读,写入,追加等

#打开
f = open(text.txt,'w')
#写入
f.write('abc')
#关闭
f.close()

|模式|描述 |
r:以只读方式打开文件。文件指针将会放在文件的开头。默认模式。
rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+:打开一个文件用于读写。文件指针将会放在文件开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w:打开一份文件只用于写入。如果该文件已存在则打开文件,并从文件开始编辑,即原有内容会被删除。如果该文件不存在,则会创建新文件。
wb:以二进制打开一个文件用于写入。如果该文件已存在则打开文件,并从文件开始编辑,即原有内容会被删除。如果该文件不存在,则会创建新文件。
w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从文件开始编辑,即原有内容会被删除。如果该文件不存在,则会创建新文件。
wb+:以二进制打开一个文件用于读写。如果该文件已存在则打开文件,并从文件开始编辑,即原有内容会被删除。如果该文件不存在,则会创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。即新的内容将会被写入到已有内容之后。如果文件不存在,创建新文件进行写入。
ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。即新的内容将会被写入到已有内容之后。如果文件不存在,创建新文件进行写入。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时是追加模式。如果文件不存在,创建新文件进行写入。
ab+:以二进制打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

二.读
·read()
文件对象.read(num)
num:表示要从文件读取数据的长度(单位是字节),如果没用传入num,那么就表示读取文件中的所有的数据

·readlines()
readlines可以按照行的方式把整个文件中的内容进行一次性读区,并且返回一个列表,其中每一行的数据作为一个元素。

f = open('text.txt')
content = f.readlines()
print(content)
#['a\n','b\n','c']

·realine()
一次读取一行内容

f = open('text.txt')
content = f.readline()
print(content)
#a
content = f.readline()
print(content)
#b

·seek()
作用:用来移动文件指针
文件对象.seek(偏移量,起始位置)

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

f = open('text.txt','r+')
#改变读取数据开始位置,从第三个字符开始读取
f.seek(2, 0)
#把文件指针放在结尾(无法读取数字)
f.seek(0, 2)
#改变a模式文件指针位置,可以读取数字
f.seek(0)

con = f.read()
print(con)
f.close()

三.文件备份

例子:用户输入当前目录下任意文件名,程序完成对该文件的备份功能(备份文件名为xx.备份后缀),例如test[备份].txt

old_name = input('请输入您要备份的文件名:')
#提取文件后缀下的标点
index = old_name.rfind('.')

#添加无效文件的判断
if index > 0:
	postfix = old_name[index:]

#组织新文件名 旧文件名+[备份]+后缀
new_name = old_name[:index] + '[备份]' + postfix
print(new_name) #text[备份].txt

#备份文件写入数据
old_f = open(old_name,'rb')
new_f = open(new_name,'wb')

while Ture:
	con = old_f.read(1024)
	if len(con) ==0:
		break
	new_f.write(con)

#关闭
old_f.close()
new_f.close()

四.文件和文件夹的操作

os.函数名()

·文件重命名
os.rename(目标文件名,新文件名)

·删除文件
os.remove(目标文件名)

·创建文件夹
os.mkdir(文件夹名字)

·删除文件夹
os.rmdir(文件夹名字)

·获取当前目录
os.getcwd()

·改变默认目录
os.chdir(目录)

·获取目录列表
os.listdir(目录)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值