修复重命名文件夹时文件夹内文件的混合
Fix mixing of files inside folders while renaming folders
import os
root_path = 'C://Users//Downloads//Practice'
s=[]
for i in range(80,130):
n='Name'
Folder=n+str(i)
s.append(Folder)
print(len(s))
###########################RENAMING FOLDERS
for i,j in enumerate(os.listdir(root_path)):
src=root_path+"//"+j
dst=root_path+"//"+s[i]
os.rename(src, dst)
我有 50 个文件夹,我可以使用上面的代码一次重命名所有文件夹,但是它们里面的图像混淆了。例如:文件夹 1 中的图像保存在文件夹 3 中。
我该如何解决这个问题?
你可以使用 glob。
import glob
dir_list = os.listdir(root_path)
# if endwith "/", may glob only folders
dir_list += glob.glob(root_path+"//*//")
dir_list = list(set(dir_lsit))
for i,j in enumerate(dir_list):
src=root_path+"//"+j
dst=root_path+"//"+s[i]
os.rename(src, dst)
import os
root_path = 'C://Users//Practice'
s=[]
for i in range(80,130):
n='Name'
Folder=n+str(i)
s.append(Folder)
print(len(s))
from pathlib import Path
text = sorted(Path(root_path).iterdir(), key=os.path.getmtime)
text
##################################################RENAMING FOLDERS
for i,j in enumerate(os.listdir(root_path)):
src=text[i]
dst=root_path+"//"+s[i]
os.rename(src, dst)
import os
root_path = 'C://Users//Downloads//Practice'
s=[]
for i in range(80,130):
n='Name'
Folder=n+str(i)
s.append(Folder)
print(len(s))
###########################RENAMING FOLDERS
for i,j in enumerate(os.listdir(root_path)):
src=root_path+"//"+j
dst=root_path+"//"+s[i]
os.rename(src, dst)
我有 50 个文件夹,我可以使用上面的代码一次重命名所有文件夹,但是它们里面的图像混淆了。例如:文件夹 1 中的图像保存在文件夹 3 中。 我该如何解决这个问题?
你可以使用 glob。
import glob
dir_list = os.listdir(root_path)
# if endwith "/", may glob only folders
dir_list += glob.glob(root_path+"//*//")
dir_list = list(set(dir_lsit))
for i,j in enumerate(dir_list):
src=root_path+"//"+j
dst=root_path+"//"+s[i]
os.rename(src, dst)
import os
root_path = 'C://Users//Practice'
s=[]
for i in range(80,130):
n='Name'
Folder=n+str(i)
s.append(Folder)
print(len(s))
from pathlib import Path
text = sorted(Path(root_path).iterdir(), key=os.path.getmtime)
text
##################################################RENAMING FOLDERS
for i,j in enumerate(os.listdir(root_path)):
src=text[i]
dst=root_path+"//"+s[i]
os.rename(src, dst)