本章节讲了文件的开关读写操作与文件备份和文件夹的一些操作. 酱, 点击”more”观看更多吧!
第五章 文件操作
文件的基本操作
打开open
f = open('name', 'mode')
f为文件对象
name: 目标文件名的字符串或路径
mode: 访问模式:只读: r, 如果文件不存在, 报错; 可省
写入: w, 文件无则创建;
追加: a, 文件无则创建;
但凡带 +, 可读写; 但凡带 b, 为二进制格式
读写 read, write
读:
- read(): f.read(num)
num表读取几个字节, 未注明则全部 - readlines(): f.readlines()
返回为列表, 每一行为一个元素1
print(f.readlines()) # ['hello\n','abc']
- readline(): 第 n 次读取第 n 行内容
f.write(‘aaa’) - 文件指针
- 什么是文件指针?
- seek(): f.seek(偏移量, 起始位置)
起始位置: 0开头1当前2结尾关闭 close
f.close()文件备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# 接受用户输入目标文件名
old_name = input('请输入您要备份的文件名: ')
# 规划备份文件名
# 提取目标文件后缀.的下标,为什么从右提取? 因为有奇奇怪怪的名字: a.mp3.mp4 是视频文件哒
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()文件和文件夹的操作
要进行这个操作啊得借助os模块的相关功能;
所以啊得进行导入:import os
;
然后再使用模块相关功能:os.func()
- 文件
- 重命名:
os.rename(old_name,new_name)
- 删除:
os.remove(name)
- 文件夹
- 创建: os.mkdir(文件夹名字)
- 删除: os.rmdir(文件夹名字)
- 获取当前文件目录路径: os.getcwd()
- 切换目录: os.chdir(新目录名)
- 获取目录列表: os.listdir()
例: 批量修改文件名, 可添加或删除指定字符串
1
2
3
4
5
6
7
8
9
10
11
12
13import os
# 设置增删字符串的标识, 1为添加, 2为删除
flag = 1
# 获取指定目录的所有文件列表
file_list = os.listdir()
# 将原有文件名增删指定字符串, 构造新名字
for name in file_list:
if flag == 1:
new_name = 'Python_' + name
elif flag == 2:
new_name = name[len('Python_'):]
# 进行重命名
os.rename(name, new_name)
一二维数据的格式化和处理
一二维数据数据的存储格式为 CSV 格式,后缀为 .csv。
一二维数据的表示和读写
导入CSV格式到列表
将二维列表美观地处理一下
一维数据写入 CSV 文件
二维数据写入 CSV 文件
1 | """ |
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~