1. 文件基本操作
打开文件:open(name, mode)
name 文件名,mode 操作文件的模式
文件关闭:文件名.close()
# 文件打开
f = open('text.txt', 'w')
# 读写文件
f.write('aaa')
# 关闭文件
f.close()
相关函数:
read(参数):读取文件内容,参数表示读取的字节数
# 读取文件
f = open('1.txt', 'r')
print(f.read(10)) # 参数是读取的字节数
f.close()
write(内容):向文件中写入内容
# w:如果文件不存在会创建一个,如果存在则会覆盖原有内容
f = open('1.txt', 'w')
f.write('bbbb')
f.close()
readlines() 函数:按照行的方式把整个文件中的内容进行一次性读取,并且返回列表,文件中一行表示一个元素
# readlines() 函数:按照行的方式把整个文件中的内容进行一次性读取,并且返回列表,文件中一行表示一个元素
f = open('1.txt', 'r')
result = f.readlines() # 返回列表
print(result)
f.close()
# 输出
['bbbbdh\n', 'asiod\n', 'ashdgi\n', 'asdfg\n', 'aosdjk']
readline() 函数:一次返回一行数据
seek() 函数:用来移动文件指针,语法:文件对象.(偏移量,起始位置)
起始位置的表示:0 表示开头,1 表示当前位置, 2 表示结尾
# seek() 函数:用来移动文件指针
# 语法: 文件对象.seek(偏移量,起始位置) 起始位置,0 表示开头,1 表示当前,2 表示结尾
# 改变读取位置开始位置
# f = open('text.txt', 'r')
# f.seek(2, 0) # 改变指针位置
# f.seek(0, 2) # 当使用2时,偏移量必须是0
# print(f.read())
# f.close()
# a 指针位置改变
# ff = open('1.txt', 'a+')
# ff.seek(0) # 表示文件指针起始位置为0,偏移量为0
# print(ff.read())
# ff.close()
2. 文件备份
文件备份的代码
# 文件名输入
file_name = input('请输入文件名:')
print(file_name)
# 规划备份文件名
# 提取后缀,使用 rfind 查找某个字符串的数量
index = file_name.rfind('.') # 根据 . 来查找 返回的是 . 前面的字符数量
print(index)
# 组织新名字 = 原名字 + [备份] + 后缀
# 切片[开始:结束:步长]
print(file_name[:index]) # 原文件名的前缀
print(file_name[index:]) # 原文件名的后缀
# 给一个判断,判断是否符合文件格式
if index > 0:
behind = file_name[index:] # 判断是否可以
new_name = file_name[:index] + '[备份]' + behind
print(new_name)
# 向备份文件写入原文件数据
# 打开 原文件 和 备份文件
ole_f = open(file_name, 'rb')
new_f = open(new_name, 'wb')
# 用循环写入数据
while True:
con = ole_f.read()
if len(con) == 0:
# 已经结束
break
new_f.write(con)
3. 文件和文件夹操作
进行文件的操作需要调用模块 os ,使用的方法 os.函数()
各种文件函数及操作:
import os
# 重命名函数 rename() # 前面的是原文件名字,后面的是新名字
# os.rename('2.txt', '4.txt')
# 删除文件 remove()
# os.remove('4.txt')
# 创建文件夹 os.mkdir
# os.mkdir('aa')
# 删除文件夹 os.rmdir()
# os.rmdir('aa')
# 获取当前目录 os.getcwd() # 返回当前的根目录
# print(os.getcwd())
# 改变默认目录 os.chdir()
# os.chdir('D:\python学习')
# 获取目录列表 os.listdir() # 返回一个列表
# print(os.listdir())
# 案例:可以批量更该文件名
flag = 2
list1 = os.listdir()
for i in list1:
if flag == 1:
new_name = 'python-' + i
elif flag == 2:
index = len('python-')
new_name = i[index:]
# 重命名
os.rename(i, new_name)