if/else 语句 - 移动文件并在文件不存在时继续

if/else statement - moving files and continuing if file does not exist

我正在使用 python 将 DBF 文件从一个文件夹移动到多个文件夹。这些来自 S3 存储桶,我解压缩并移动。有时会缺少 DBF。如果发生这种情况,我将尝试编写代码,以便如果文件不存在,脚本将移动到下一个文件。我认为这将是一个 if/else 语句,但我在处理 else 部分时遇到了问题。

import arcpy, os
from arcpy import env

env.workspace = "E:\staging\DT_TABLES"

######Move Clackamas Pro41005.dbf######
in_data =  "Pro41005.dbf"
out_data = "D:/DATATRACE/OREGON/OR_TRI COUNTY/Pro41005.dbf"
data_type = ""

if in_data == "Pro41005.dbf":
        arcpy.Delete_management(out_data)
        arcpy.Copy_management(in_data, out_data, data_type)
        print 'Clackamas Moved'
else :

######Move Multnomah Pro41051.dbf######

    in_data =  "Pro41051.dbf"
    out_data = "D:/DATATRACE/OREGON/OR_TRI COUNTY/Pro41051.dbf"
    data_type = ""

    arcpy.Delete_management(out_data)

    arcpy.Copy_management(in_data, out_data, data_type)

print 'Multnomah Moved'

换句话说,如果 Pro41005.dbf 不在压缩文件中,我希望脚本继续 Pro41051.dbf 这是我要移动的八个文件中的两个。届时将有大约 20 个文件。

您的 IF 语句现在只是检查变量是否具有您在上面分配的相同文件名。所以它永远是真的。

看来你需要的是检查一个文件是否存在

import os ... if os.path.isfile(in_data):