如何使用python重命名目录中的文件

2024-09-29 19:32:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个名为“export”的文件夹中有一个名为“x.mkv”的文件。X可以是任何东西。。它的名字不完全是X,它只是一个有名字的文件。 我想将文件重命名为“movie1x[720p].mkv”。我想保留文件的原始名称,并添加Movie1作为前缀,[720p]作为后缀。 文件夹里只有一个文件,没有别的了。 我该怎么做? 我试着在操作系统重命名我失败了。。我用的是:

import os
w = os.listdir("C:/Users/UserName/Desktop/New_folder/export")
s = '[Movie1]' + w + '[720p]'
os.rename(w,s)

我想做的是。。。从文件夹中获取文件名,因为现在和将来只有1个文件,所以,这似乎是合适的。 将获取结果保存在“w”中,然后使用另一个变量“s”并添加前缀和后缀。最后,我无法使用'os.rename'命令中的变量。


Tags: 文件import文件夹名称osexport名字后缀
2条回答

你的原稿不起作用有几个原因:

  1. os.listdir()返回列表而不是字符串,因此字符串连接将失败。在
  2. os.rename()重命名文件时将遇到问题,除非指定路径或更改cwd。在

我建议使用以下代码:

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)

使用^{}

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]')

相关问题 更多 >

    热门问题