python中的文件结构重命名
希望有人能帮我整理一下我正在做的项目的想法。我目前正在尝试编写一个python脚本,以特定的格式和顺序重命名电视节目的名称 假设我有一个如下的文件结构python中的文件结构重命名,python,Python,希望有人能帮我整理一下我正在做的项目的想法。我目前正在尝试编写一个python脚本,以特定的格式和顺序重命名电视节目的名称 假设我有一个如下的文件结构 Game of thrones Season 1 Episode 1ndjakchekzu.mkv Episode 2 mcndnsjhf.mkv 我希望写一个脚本,使文件结构看起来像这样 `Game of Thrones Season 01 Episode 01.mkv Episode 02.m
Game of thrones
Season 1
Episode 1ndjakchekzu.mkv
Episode 2 mcndnsjhf.mkv
我希望写一个脚本,使文件结构看起来像这样
`Game of Thrones
Season 01
Episode 01.mkv
Episode 02.mkv
任何关于组织、使用工具或已有脚本的提示都会非常有用,谢谢
导入操作系统,系统
`i=1
使路径成为指定的文件夹
path=输入文件文件夹路径
用于测试
path=C:\Users\Desktop\Naruto
#variable for extension
#extension = input("Enter the file type.")
extension = ".avi"
#prints out original files in folder
os.chdir(path)
for file in os.listdir():
src=file
dst="e"+str(i).zfill(2) + extension
os.rename(src,dst)
i+=1
print (os.listdir(path))
到目前为止,这就是我所得到的,但当运行它时,我似乎在某个地方丢失了以220开始,以209结束的剧集,并且这些剧集在重命名后出现了顺序问题。您走的是正确的道路。找到一个普遍的解决方案可能很困难。 我的示例从文件名中提取了剧集编号,并再次使用它
import glob,os,re
path = os.path.expanduser('~/Desktop/Naruto')
suff = '.avi'
length = 0
for src in glob.iglob(os.path.join(path, f'*{suff}')):
match = re.match(r'^Episode\s+(?P<num>\d+).*$', os.path.basename(src))
if not match: raise Exception('missmatch found: {src!r}')
length = max(length, len(match.group('num')))
for src in glob.iglob(os.path.join(path, f'*{suff}')):
match = re.match(r'^Episode\s+(?P<num>\d+).*$', os.path.basename(src))
if not match: raise Exception('missmatch found: {src!r}')
fname = f"ep_{match.group('num').zfill(length)}{suff}"
dst = os.path.join(os.path.dirname(src), fname)
os.rename(src, dst)
欢迎来到stackoverflow。这不是免费的代码编写服务。请回答您的问题并附上您的代码。当你运行它时会发生什么?你以为会发生什么?有错误吗?你到底在挣扎什么?另见。