使用Python重命名文件,基于输入文件

时间:2013-04-03 08:56:00

标签: 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的原始文件名,我想从

更改
Worm.Allaple.A_1c781a8051fcfac49b62cdfba1d7510f.exe.csv

Worm:Win32/Allaple.A_1c781a8051fcfac49b62cdfba1d7510f.exe.csv

如何在Python上执行此操作(我也尝试使用bash ..但我的技能有限,所以请尝试查看其他选项)

2 个答案:

答案 0 :(得分:1)

用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}'

答案 1 :(得分:-1)

您可以使用shutil

使用python重命名文件
import shutil

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