嗨我有一些需要重新命名为其他内容的不同文件。我得到了这么多,但我想拥有它,以便我可以有许多项目来替换和相应的替换,而不是输入每个项目,运行代码,然后再次输入。此外,我需要重命名只更改文件的一部分,而不是整个事情,所以如果有一个“Cat5e_1mBend1bottom50m2mBend2top-Aqeoiu31”它只是将其更改为“'Cat5e50m1mBED_50m2mBE2U-Aqeoiu31 执行Python 2.5Python更改文件名的一部分
import os, glob
name_map = {
"Cat5e_1mBend1bottom50m2mBend2top": 'Cat5e50m1mBED_50m2mBE2U'
}
#searches for roots, directory and files
for root,dirs,files in os.walk(r"H:\My Documents\CrossTalk"):
for f in files:
if f in name_map:
try:
os.rename(os.path.join(root, f), os.path.join(root, name_map[f]))
except FileNotFoundError, e:
#except FileNotFoundError as e: # python 3
print(str(e))
+0
您是否有一条规则可用于识别要重命名的文件或这些文件名的列表?你有另一个规则解释如何将旧名称转换为新名称? –
+1
你必须遍历每个文件的'name_map'并在文件名中搜索一个子字符串(例如''for pattern,ren_to_ name.map.items():if pattern in f:os.rename(...) –
+0
@yedpodtrzitko @yedpodtrzitko只会改变字符串的一部分吗?如果你有这个问题,你可以发布解决方案,因为我不是很关注你 –