我有一个名为" x.mkv"的文件。在名为" export"的文件夹中。 X可以是任何东西......它没有完全命名为X,它只是带有一些名字的文件。 我想将文件重命名为" Movie1 x [720p] .mkv"。我想保留文件的原始名称,并将Movie1添加为前缀,将[720p]添加为后缀。 文件夹中只有一个文件,仅此而已。 我该怎么办? 我尝试在os.rename中使用变量而我失败了......这就是我使用的:
import os
w = os.listdir("C:/Users/UserName/Desktop/New_folder/export")
s = '[Movie1]' + w + '[720p]'
os.rename(w,s)
我想要做的是......从文件夹中获取文件名,因为它只有1个文件,因此,这似乎是合适的。
将获取结果保存在' w'然后使用另一个变量'并添加前缀和后缀。然后在最后,我无法使用' os.rename
'命令。
答案 0 :(得分:2)
您的原创作品因某些原因而失败:
os.listdir()
返回一个列表而不是字符串,因此字符串连接将失败。os.rename()
将无法重命名文件。我建议使用以下代码:
import os
path="C:/Users/UserName/Desktop/New_folder/export/"
w = os.listdir(path)
#since there is only one file in directory it will be first in list
#split the filename to separate the ext from the rest of the filename
splitfilename=w[0].split('.')
s = '[Movie1]' + '.'.join(splitfilename[:-1]) + '[720p].'+splitfilename[-1]
os.rename(path+w[0],path+s)
答案 1 :(得分:0)
使用os.rename
:
def my_rename(path, name, extension, prefix, suffix):
os.rename(path + '/' + old_name + '.' + extension,
path + '/' + prefix + old_name + suffix + '.' + extension)
my_rename('/something/export', 'x', 'mkv', 'Movie1 ', ' [720p]')