python - 检查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")
解决方案
在尝试删除文件/文件夹之前,您可以执行以下操作来检查文件/文件夹是否存在:
import os
if os.path.exists("some path"):
pass
# remove dir
else:
print("The dir does not exist")
推荐阅读
- azure-devops - 如何在 Azure Pipelines YAML 构建定义中接收修订
- vb.net - WebBrowser 在后续使用中失败?WebBrowser1_DocumentCompleted 不起作用
- c++ - 如何以低于相机每秒帧数的能力处理数据?
- node.js - 节点集群分叉执行代码过于频繁
- excel - 我的 VBA 代码不会将用户表单输入放入单元格
- android - 为什么 MediaSession 不改变锁屏背景(可能是位图大小问题:阅读了解更多信息)?
- typescript - 仅将 TypeScript 环境声明添加到特定文件(如 *.spec.ts)
- c# - Spring 表达式不区分大小写
- dynamics-crm - 如何集成 Microsoft 流
- android - ObjectAnimator 类型的解构声明初始化器