我希望每个人都安然无恙。
你能帮我更改某个目录中的文件名吗?
我正在为RDA编写一个脚本来从这个网站下载文件,当我从这个网站下载这些文件时,文件名没有模式,完全是随机的。所以我想将这些文件重命名为某种模式。
例如,
第一个下载的文件名:filedownload.pdf 重命名为:1234567.pdf
第二个下载的文件名:extractpages.pdf 重命名为:1234568.pdf
参数中设置了新名称,因此该部分很好,但由于我不知道下载的文件名是什么,因此我无法将此文件名更改为新名称。
所以我想到的是对于每个下载的文件,把它放在这个文件夹中,没有任何文件,只要有任何文件位于这个文件夹中,它就会重命名文件并将其放在不同的文件夹中。
下面是我写的代码;
filepath = "originalFilePath/downloadedfile.pdf"
if os.path.isfile(filepath):
os.rename(r'originalFilePath/downloadedfile.pdf',
'newFilePath' + str(parameter['search_number']) + '.pdf')
但是无论下载的文件名是什么,我都想更改文件名。
请帮忙,非常感谢!!
我认为你的想法是非常正确的。
首先,您将在下载任何文件之前列出文件夹中的所有文件名,将该列表存储在一个变量中,例如current_files
. 然后你开始从网上下载文件,之后,你再次列出所有文件名并存储在第二个列表中。现在您将比较 2 个列表并了解哪些文件是新的(刚刚下载)。然后你只需简单地循环这些新文件并以你想要的模式重命名它。我会在一分钟内添加代码
import glob
current_files = glob.glob("/path/Downloads/*.pdf")
# ['path/Downloads/abc.pdf', 'path/Downloads/xyz.pdf']
# your code to download files from the web
new_files = set(glob.glob("/path/Downloads/*.pdf")) - set(current_files)
# ['path/Downloads/just_downloaded1.pdf', 'path/Downloads/just_downloaded2.pdf']
for file in new_files:
#do the rename code here to your new files
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句