我正在编写一个脚本,需要从我们公司的数据库中删除大量电影/媒体文件。我正在 Mac 和 Python 环境中进行开发,这两种环境对我来说都是新的。我正在尝试使其尽可能具有弹性,因为它可能会破坏当前生产中的所有项目的数据库,而不是淘汰的旧项目。
想知道,如果有任何严重的逻辑缺陷,我是否正确登录等。以及任何其他建议,以使其尽可能健壮和谨慎,我们将不胜感激。
import os.path
import shutil
import datetime
import logging
root_path = "blah"
age_in_days = 2
truncate_size = 1024
class TruncateOldFiles():
def delete_files(root_path):
if os.path.exists(root_path):
for dirpath, dirnames, filenames in os.walk(root_path):
for file in filenames:
current_path = os.path.join(dirpath, file)
file_modified_time = datetime.date(os.path.getmtime(current_path))
if ((datetime.datetime.now() - file_modified_time) > datetime.timedelta(days = age_in_days)):
count += 1
if count == len(files) and not os.path.isfile("donotdelete.txt"):
for file in filenames:
try:
with open (file, 'w+') as file:
file.truncate(1024)
log()
except IOError:
pass
def log():
format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(filename='myapp.log', level=logging.INFO, format = format)
logging.info('Starting to truncate all files...')
此外,我只能在终端中编译它,但不太知道如何从中调试逻辑错误。我习惯于在 IDE 中使用 C++ 和 Java 进行编码,在这里我使用的 Xcode 似乎不利于我的开发风格。
谢谢你。