首页 > 解决方案 > 检查python是否删除文件夹成功,如果是,继续

问题描述

我正在从我的数据库中选择数据,并从我的文件系统中删除非活动域。有时,我有域,它在数据库中被停用了两次,脚本也会尝试将其删除两次,因为它适用于每一行。

如何解决这个问题,当脚本将在数据库中找到主机时,该主机已在文件系统上已删除,因此它将检查它是否已删除并将继续并且不会崩溃

    os.rmdir('/data/sa/' + name)
FileNotFoundError: [Errno 2] No such file or directory: '/data/sa/test3.com'
masir@linux-hjay:~/Documents/python> ls /data/sa/

这是我的代码:

cursor = connection.cursor()
sql="SELECT id, name, state FROM domain WHERE state='2'"
cursor.execute(sql)
records = cursor.fetchall()
print("Total number of records for deleting is: ", cursor.rowcount)

print("\nPrinting each domain record")
for row in records:

    print("id = ", row["id"], )
    print("name = ", row["name"])
    print("state  = ", row["state"], "\n")

    id = row["id"]
    name = row["name"]
    state = row["state"]

    if state == 2:
#       print(state)
        print('found records for deleting' + name)
        os.rmdir('/data/sa/' + name)
    else:
        print('no records for deleting found')
        print('domain', name)
        print('hast state', state, "\n")

标签: pythonpython-3.x

解决方案


在尝试删除文件/文件夹之前,您可以执行以下操作来检查文件/文件夹是否存在:

import os

if os.path.exists("some path"):
    pass
    # remove dir
else:
    print("The dir does not exist")

推荐阅读