Pywikibot 8中如何切换账号执行管理员(sysop)操作?
解决Pywikibot 8中切换机器人/管理员账号的高效方法
不用每次手动修改user-config.py,试试这几个实用方案:
多配置文件分流
复制一份user-config.py并重命名为user-config-sysop.py,将其中的账号替换为管理员账号。运行脚本时通过参数指定对应配置文件即可:- 普通机器人任务:
python pwb.py 你的脚本.py -config:user-config.py - 需管理员权限的任务(如删页):
python pwb.py delete.py -config:user-config-sysop.py
- 普通机器人任务:
代码层面动态切换账号
在脚本中直接初始化两个不同的Site对象,分别对应机器人账号和管理员账号,按需调用即可:import pywikibot # 初始化普通机器人站点 bot_site = pywikibot.Site('你的站点语言', '站点名称', user='机器人账号名') bot_site.login() # 初始化管理员站点 sysop_site = pywikibot.Site('你的站点语言', '站点名称', user='管理员账号名') sysop_site.login() # 示例:用管理员账号执行删页操作 target_page = pywikibot.Page(sysop_site, '要删除的页面标题') target_page.delete('删除操作理由')注意:需确保两个账号的密码已在
user-password.py中配置,或者允许运行时手动输入密码。环境变量临时覆盖账号
运行脚本前通过环境变量指定要使用的账号,无需修改任何配置文件:- 普通机器人操作:
PYWIKIBOT2_USER=机器人账号名 python pwb.py 你的脚本.py - 管理员权限操作:
PYWIKIBOT2_USER=管理员账号名 python pwb.py delete.py
- 普通机器人操作:
内容的提问来源于stack exchange,提问作者Urban Vagabond
相关产品推荐
相关产品推荐

