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

时间:2017-02-22 20:21:56

标签: python if-statement conditional

我正在使用python将DBF文件从一个文件夹移动到多个文件夹。这些来自S3桶,我解压缩并移动。有时会缺少DBF。如果发生这种情况,我正在尝试编码,以便如果文件不存在,脚本将移动到下一个文件。我认为这将是一个if/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个文件。

1 个答案:

答案 0 :(得分:0)

您的IF语句现在只检查变量是否与您上面指定的文件名相同。所以它永远都是真的。

您需要检查文件是否存在。

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