如何使用python重命名目录中的文件
我在名为“导出”的文件夹中有一个名为“x.mkv”的文件。X可以是任何东西。。它的名字不完全是X,它只是一个有名字的文件。 我想将文件重命名为“movie1x[720p].mkv”。我想保留文件的原始名称,并添加Movie1作为前缀,[720p]作为后缀。 文件夹中只有一个文件,仅此而已。 我该怎么做? 我尝试在os.rename中使用变量,但失败了。。这就是我使用的:如何使用python重命名目录中的文件,python,file,python-2.7,Python,File,Python 2.7,我在名为“导出”的文件夹中有一个名为“x.mkv”的文件。X可以是任何东西。。它的名字不完全是X,它只是一个有名字的文件。 我想将文件重命名为“movie1x[720p].mkv”。我想保留文件的原始名称,并添加Movie1作为前缀,[720p]作为后缀。 文件夹中只有一个文件,仅此而已。 我该怎么做? 我尝试在os.rename中使用变量,但失败了。。这就是我使用的: import os w = os.listdir("C:/Users/UserName/Desktop/New_folder/
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
'命令中的变量。使用:
由于以下几个原因,您的原始版本无法使用:
os.listdir()
返回列表而不是字符串,因此字符串连接将失败os.rename()
重命名文件时会遇到问题,除非给出路径或更改cwdimport 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)
你真的应该在问之前先试试。谷歌搜索“用python重命名文件”可能会得到一些好结果。。我失败了。。这就是为什么我问…:|thanx。。但是,就像我说的。。名字不是“x”…'“x”意味着名字可以是任何东西。。。它不是特别的x。。我不知道文件名…@user2408212对,所以用文件名替换“x”。我将代码放入一个函数中,这样您就可以根据具体需要使用不同的参数来调用它。如果您的问题是不知道如何获取文件名,您应该在问题中这样说(并添加具体的详细信息)。如果您的文件名在扩展名之前只有一个句点,您可以使用splitfilename[0],我已使用连接来纠正此问题。
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)