多年来我一直在阅读 stackoverflow,这是我的第一篇文章。我已经尝试过搜索,但我真的找不到任何我都理解并且与我的场景相匹配的东西。是的,我完全是 OOP 新手,所以请尽可能简单地解释一下。
好的,我正在尝试编写一个调用 Rsync 进行备份的 Python 脚本。
我本质上是从 root 的 crontab 调用脚本。因为这会引发安全问题,所以我将从配置文件中读取需要备份的目录(以及每个目录的 rsync 命令的一些选项),格式为 ConfigParser 模块可以理解的格式。
所以,我现在想创建对象来表示备份目录。我的问题是:
我是否创建了一个单独的对象工厂类,并将解析配置文件时收集的所有相关信息发送给它?或者,我是否将所有对象创建内容放在现有配置解析类的方法中?
我希望至少其中一些是有道理的。
请注意,这既是用于生产用途,也是我学习面向对象编程和设计的学习项目,所以是的,在这方面进行 OOP 可能是矫枉过正,但我想学习这些东西!
感谢您的建议和帮助!
这是我到目前为止得到的一些东西(伪代码):
import ConfigParser
import Logging
import os
class ParseConf(object):
[set up logging facilities]
def __init__(self,conffile = "/etc/pybackup/pyback.conf"):
self.conffile = conffile
self.confvals = {}
def getdirs():
create configparser instance
read config file
add values to dictionary self.confvals
def getdirobj():
either create a list of objects here or send self.confvals
to a factory object that returns a list of objects.