确定文件中存在特定字符并重命名fi

2024-10-02 08:19:51 发布

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

我正在尝试使用下面的脚本查找并重命名下面的文件

IYBR2C.YGPSWS.SL.1.M.20190503170641.csv to SAK_BB_AL.csv
QWEJ1P.YGPSWS.SL.1.M.20190508122932.csv to SAM_SG_MO.csv
SCPR1C.YGPSWS.SL.1.T.20190503164120.csv to SVM_SG_AL.csv
SMCE2P.SGPAWS.SL.1.T.20190508123138.csv to SDM_SG_MO.csv

这是我为一个文件所做的尝试:

但我的问题是我需要对这个更名有一些条件

ex-:
IYBR2C.YGPSWS.SL.1.M.20190503170641.csv to SAK_BB_AL.csv

对于这个示例文件,我需要检查它是否以“IYBR2C”开头,并且它是否包含“M”,如果这两个条件都满足,则将其重命名为SAK_BB_AL.csv

for root, dirs, files in os.walk(/tmp):
for dir in dirs:
    if dir.startswith("IYBR2C"):
        org_fp = os.path.join(root, dir)
        new_fp = os.path.join(root, dir[1])
        os.rename(org_fp, new_fp)

我所做的尝试没有给出预期的结果,无法找到以(“IYBR2C”)开头的文件并重命名它,我如何检查它是否也包含字母(“M”)

注意:文件存在于我的/tmp目录中,我不知道其中有多少文件。我提供了一个示例,说明如何为IYBR2C.YGPSWS.SL.1.M.20190503170641.csv实现它,请提供一个通用解决方案:-)


Tags: 文件csvtoosdirrootsg命名
1条回答
网友
1楼 · 发布于 2024-10-02 08:19:51

这会让你走的。在if语句中基本上需要两个条件:检查第一个单词和搜索名称中的字符。这是一个模型。告诉我是否可以

filenames=['IYBR2C.YGPSWS.SL.1.M.20190503170641.csv',
'QWEJ1P.YGPSWS.SL.1.M.20190508122932.csv',
'SCPR1C.YGPSWS.SL.1.T.20190503164120.csv',
'SMCE2P.SGPAWS.SL.1.T.20190508123138.csv']
for newname in filenames:
         if(newname.split('.')[0]=='IYBR2C' and "M" in newname):
                print newname,'SAK_BB_AL.csv'

结果:

IYBR2C.YGPSWS.SL.1.M.20190503170641.csv SAK_BB_AL.csv

相关问题 更多 >

    热门问题