使用Python根据输入fi重命名文件

2024-05-15 07:50:50 发布

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

我想用以下文件名重命名文件:

我在一个包含以下列的文件中有一个长列表。这是一个输入文件,第一列中有MD5sums,第二列中有新名称:

1c59eb1e8d29fecc54d3a0623e6f4c8d Worm:Win32/Allaple.A
1c569fda69ad93670bf611ff2d16baa6 W32.Rahack.W
1c6481ebf5c2e86555b88862c0df597b Worm:Win32/Allaple.A
1c0aa69cbe2b2ed08dc6e73fb2bf1d34 Virus:Win32/Virut.AC
1c6fdcabb61b5b1d6e53280ae934eaa6 Worm:Win32/Allaple.A
1c781a8051fcfac49b62cdfba1d7510f Worm:Win32/Allaple.A

说吧

从带有MD5SUM的原始文件名,我想从

^{pr2}$

Worm:Win32/Allaple.A_1c781a8051fcfac49b62cdfba1d7510f.exe.csv

如何在Python上实现这一点(我也尝试了bash。。但我的技能有限,所以请尝试另一种选择)


Tags: 文件名称列表文件名ac重命名win32md5sums
2条回答

在一些帮助下用bash解决了

sed -n 's/.*_\(.*\)\.exe\.csv/\1 \0/p' old-name.txt  | sort > n1.txt

sort input-name-file.csv > temp.txt

join -j1 temp.txt n1.txt > j1.txt

tr '/' ':' < j1.txt | awk '{printf "mv %s %s_%s.exe.csv\n",$3,$2,$1}'

可以使用shutil用python重命名文件

import shutil

# make sure you are passing the correct directory
shutil.move(old_file_name, new_file_name)

相关问题 更多 >