您应该看看glob、os和{a3}库。在
我为你写了一个例子。这将删除给定文件夹中每个文件的文件扩展名,创建一个新的子目录,并将文件移动到相应的文件夹中,即:C:\Test\
-> test1.txt
-> test2.txt
会变成
^{pr2}$
代码:import glob, os, shutil
folder = 'C:/Test/'
for file_path in glob.glob(os.path.join(folder, '*.*')):
new_dir = file_path.rsplit('.', 1)[0]
os.mkdir(os.path.join(folder, new_dir))
shutil.move(file_path, os.path.join(new_dir, os.path.basename(file_path)))
如果文件夹已经存在,这将引发一个错误。要避免这种情况,请处理以下异常:import glob, os, shutil
folder = 'C:/Test/'
for file_path in glob.glob(os.path.join(folder, '*.*')):
new_dir = file_path.rsplit('.', 1)[0]
try:
os.mkdir(os.path.join(folder, new_dir))
except WindowsError:
# Handle the case where the target dir already exist.
pass
shutil.move(file_path, os.path.join(new_dir, os.path.basename(file_path)))
PS:这不适用于没有扩展名的文件。考虑在这种情况下使用更健壮的代码。在