有谁能告诉我我用python-crontab做错了什么?
from crontab import CronTab
system_cron = CronTab()
生成以下错误:
File "test.py", line 3, in <module>
cron = CronTab()
TypeError: __init__() takes exactly 2 arguments (1 given)
当我直接从包装说明中尝试其他示例变体时,我遇到了同样的问题:
my_user_cron = CronTab(user=True)
users_cron = CronTab(user='username')
我也尝试使用这种方法创建对象,我在python-crontab.py文件中找到了它:
cron = CronTab(tab='')
但它会产生此错误:TypeError: __init__() got an unexpected keyword argument 'tab'
我已经尝试查看程序包中的代码,看看它是否是文档错误并且能够解决问题,但这超出了我的技能水平。我相信这是定义我应该如何创建crontab对象的代码:
def __init__(self, user=None, tab=None, tabfile=None, log=None):
if user == True and not WINOS:
user = pwd.getpwuid( os.getuid() )[ 0 ]
self.lines = None
self.crons = None
self.filen = None
# Protect windows users
self.root = not WINOS and os.getuid() == 0
self.user = user
# Detect older unixes and help them out.
self.intab = tab
self.read(tabfile)
self._log = log
对我做错了什么的想法?
help(CronTab)返回:
class CronTab(__builtin__.object)
| Methods defined here:
|
| __init__(self, crontab)
|
| next(self, now=None, increments=[<function <lambda>>, <function <lambda>>, <function <lambda>>, <function _month_incr>, <function <lambda>>, <function _year_incr>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>], delta=True)
| How long to wait in seconds before this crontab entry can next be
| executed.
|
| previous(self, now=None, delta=True)
|
| test(self, entry)
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| matchers
答案 0 :(得分:9)
您已安装crontab软件包,您显示的文档适用于python-crontab。他们是两个完全不同的套餐。
答案 1 :(得分:1)
如果收到错误TypeError: init ()在使用CronTab时正好使用2个参数,则说明您安装了错误的模块。您需要从pypi或本地软件包管理器安装python-crontab而不是crontab,然后重试。
引用:https://pypi.org/project/python-crontab/
卸载crontab
pip uninstall crontab
&安装python-crontab
pip install python-crontab
答案 2 :(得分:0)
cron = CronTab(user='name')
TypeError: __init__() got an unexpected keyword argument 'user'
如果您遇到上述错误,请执行以下操作:
使用
卸载crontabpip uninstall crontab
并安装
pip install python-crontab