文件处理
应用
(1)文件: (2)文件操作:打开、关闭、读、写、复制 (3)文件操作的内容:读取内容、写?内容、备份内容 总之,文件操作的作用:把一些内容(数据)存储起来,可以让程序下一次执行的时候直接使用,而不需要重新制作一份。
基本操作
打开文件——>读写等操作——>关闭文件
open
打开?个已经存在的?件,或者创建?个新?件.
open(name,mode)
name:指的是打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置访问文件的模式(访问模式):只读 写入 追加
r+:没有该文件的时候报错;文件指针在开头,能读取出数据 w+:没有该文件,会新建该文件;文件指针在开头,会覆盖原有内容 a+:没有文件则新建文件,文件指针在结尾,无法读取数据(文件指针后面没有数据)
f=open('test.txt','w')
访问模式默认是r,可以省略
文件对象写法
写:对象.write("内容”)
f=open('text.txt','w')
f.write("hello")
f.close()
读:
文件对象.read(num)
文件对象.readlines()
f = open('test.txt')
content = f.readlines()
print(content)
f.close()
readline():一次读取一行内容
f = open('test.txt')
content = f.readline()
print(f'第??:{content}')
content = f.readline()
print(f'第??:{content}')
f.close()
seek():用来移动文件指针
文件对象.seek(偏移量,起始位置)
seek(0,0) seek(0)
关闭:
?件对象.close()
文件备份
?户输?当前?录下任意?件名,程序完成对该?件的备份功能(备份?件名为xx[备份]后缀,例如:test[备份].txt)。
1.接收?户输?的?件名 2.规划备份?件名 3.备份?件写?数据
old_name=input("请输入您要备份的文件名")
index=old_name.rfind(".")
if index>0:
postfix = old_name[index:]
new_name = old_name[:index] +'[备份]'+postfix
old_f = open(old_name, 'rb')
new_f = open(new_name, 'wb')
while True:
con = old_f.read(1024)
if len(con) == 0:
break
new_f.write(con)
old_f.close()
new_f.close()
文件和文件夹操作
(1)导入os模块
import os
(2)使用os模块相关功能
os.函数名()
rename(目标文件夹,新文件名)
remove(目标文件名)
mkdir(文件名名字)
rmdir(文件夹名字)
getcwd():
chdir(目录)
os.chdir('aa')
os.mkdir('bb')
listdir(目录)
项目实战
需求: 批量修改文件名,既可添加指定字符串,又能删除指定字符串
步骤:1.设置添加删除字符串的的标识 2.获取指定?录的所有?件 3.将原有?件名添加/删除指定字符串,构造新名字 4.os.rename()重命名
import os
dir_name = './'
file_list = os.listdir(dir_name)
for name in file_list:
if flag == 1:
new_name = 'Python-'+name
elif flag == 2:
num = len('Python-')
new_name = name[num:]
print(new_name)
os.rename(dir_name+name, dir_name+new_name)
|