如果数据库中存在文件夹A中的文件名,请移至文件夹B;如果文件不存在,则将文件名插入数据库并将文件移至文件夹C

时间:2020-06-10 02:02:46

标签: python

我有3个文件夹

Folder A (Landing Folder)
Folder B (Deletion Folder)
Folder C (Transfer to AWS Folder)

经过一些数据转换后,我已经编写了一些python代码将文件从着陆文件夹移动到着陆文件夹中-我需要为文件制作决策树:

 Check each filename in folder A to see if it exists in the database
 if the file exists already:
    move the file to Folder B
 Else
 Insert the file name into the Database & move the file to Folder C for transfer to AWS 

我已经在python中测试了SQL语句并可以正常工作,但是我不确定如何将文件移动到各自的文件夹中。

我假设我需要根据结果使用shutil.move移至文件夹B或C,但并不能百分百确定到达那里的语法。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以使用os.listdir获取给定路径中的文件列表,并且如您所说,可以使用shutil.move()移动文件。因此,您可以尝试执行以下操作:

import os
import shutil

folderA='pathfolderA'
folderB='pathfolderB'
folderC='pathfolderC'

files=os.listdir(folderA)
for fil in files:
    if fil in database:
        shutil.move(fil,folderB)
    else:
        # insert(fil) into database
        shutil.move(fil,folderC)

我忽略了步骤if fil in databaseinsert(fil) into database的明确性,因为您说您已经成功测试了SQL语句。您可以检查有关shutilos.listdir的有用信息:link 1:shutillink 2:shutillink 3:shutillink 4:os.listdir