1、0.1版本
import os
def show_files(path, all_files):
# 首先遍历当前目录所有文件及文件夹
file_list = os.listdir(path)
# 准备循环判断每个元素是否是文件夹还是文件,是文件的话,把名称传入list,是文件夹的话,递归
for file in file_list:
# 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录
cur_path = os.path.join(path, file)
# 判断是否是文件夹
if os.path.isdir(cur_path):
# os.rename(cur_path, cur_path+'asdf')
# cur_path = cur_path+'asdf'
show_files(cur_path, all_files)
else:
"""
给每个文件重命名
思路:把文件路径用split()函数分割成列表,然后再修改最后的元素
"""
name_all = cur_path.split('\\')
# print(cur_path)
# print(name)
os.rename(cur_path, '\\'.join(name_all[0:-1])+'\\asdf'+name_all[-1])
all_files.append(file)
return all_files
# 传入空的list接收文件名
contents = show_files("e:\\python\\hello", [])
# 循环打印show_files函数返回的文件名列表
for content in contents:
print(content)
2、0.2版本
1 import os
2
3
4 """
5 与01文件功能的不同,将改名封装成函数
6 """
7
8 def show_files(path, all_files):
9 # 首先遍历当前目录所有文件及文件夹
10 file_list = os.listdir(path)
11 # 准备循环判断每个元素是否是文件夹还是文件,是文件的话,把名称传入list,是文件夹的话,递归
12 for file in file_list:
13 # 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录
14 cur_path = os.path.join(path, file)
15 # 判断是否是文件夹
16 if os.path.isdir(cur_path):
17 # os.rename(cur_path, cur_path+'asdf')
18 # cur_path = cur_path+'asdf'
19 show_files(cur_path, all_files)
20 else:
21 """
22 给每个文件重命名
23 思路:把文件路径用split()函数分割成列表,然后再修改最后的元素
24 """
25 change_file_name(cur_path, 'ssss')
26 all_files.append(file)
27
28 return all_files
29
30
31 def change_file_name(path_name, pre_fix):
32 old_name = path_name.split('\\')
33 print(old_name)
34 os.rename(path_name, '\\'.join(old_name[0:-1]) + '\\' + pre_fix + old_name[-1])
35 return
36
37
38
39
40 # 传入空的list接收文件名
41 contents = show_files("e:\\python\\hello", [])
42 # 循环打印show_files函数返回的文件名列表
43 for content in contents:
44 print(content)
认真写了三个小时,接触python以来花时间学习最长的一次。