Python:将dic值添加到文件名

时间:2018-06-06 19:00:04

标签: python

我试图根据部分文件名创建子文件夹。我在目录中有以下文件示例:

xxx.01.741425.xlsx

xxx.12.658521.xlsx

xxx.01.667423.xlsx

xxx.12.125867.xls

xxx.12.355456.xlsx

我希望xxx之后的所有文件都是01。在一个名为01的子文件夹中,所有文件在xxx之后都有12个。在另一个名为12的子文件夹中,依此类推。现在我通过将.replace(f.split("。")[2],"")添加到文件夹中找到了解决方案:

folder = "C:\Folder"+"/"+f.split(".")[1].replace(f.split(".")[2], "").

现在我想用State缩写替换文件夹名称01,12。我创建了一个字典st_name = {' 01' :' AL'' 12':' FL'},但我不知道如何使用它。有更好的方法吗?

import os
import shutil
import sys
dr = sys.argv[1]; files = os.listdir("C:\Folder")
for f in [f for f in files if os.path.isfile ("C:\Folder"+"/"+f)]:
    folder = "C:\Folder"+"/"+f.split(".")[1]
    if not os.path.exists(folder):
        os.makedirs(folder)
    shutil.move("C:\Folder"+"/"+f, folder+"/"+f)

1 个答案:

答案 0 :(得分:1)

使用您创建的词典应用您的映射:

folder = "C:\Folder"+"/"+st_name[f.split(".")[1]]