我想尝试使用以下文件名重命名文件:
我在一个包含以下列的文件中有一个很长的列表。这是一个输入文件,第一列中包含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 ..但我的技能有限,所以请尝试查看其他选项)
答案 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)