我有一个文件夹,其中包含300多个视频文件,其名称开头为
video1.mp4,video2.mp4,video3.mp4 ...video302.mp4
我正在尝试使用一个包含302行的文本文件重命名所有这些文件,其中每一行都与上述文件名匹配。
import os
def chngname():
os.chdir('/root/Desktop/video')
with open('/root/Desktop/vidlink','r') as jabber:
content=jabber.read().splitlines()
director=[x for x in os.listdir()[:5]]
director.sort()
return content,director
newname = chngname()
os.chdir('/root/Desktop/video')
os.rename(newname[0],newname[1])
在执行上述代码时,我收到了错误消息
找不到文件错误:[错误2]没有此类文件或目录
如何解决此错误? 问候
更新1: 代码已更新
答案 0 :(得分:1)
import os
def chngname():
os.chdir('/home/alireza/Desktop/Testak')
with open('/home/alireza/Desktop/fileNames.txt','r') as jabber:
content=jabber.read().splitlines()
director=[x for x in os.listdir()]
director.sort()
return content,director
newname = chngname()
os.chdir('/home/alireza/Desktop/Testak')
for id, file in enumerate(newname[1]):
os.rename(file, newname[0][id])
以这种方式工作,代码遇到的问题是,您将列表作为文件传递给os.rename()
函数
此代码有一些不良做法,最好使用os.path
lib作为文件地址