有没有办法在 pywikibot 替换命令中使用变量 "title of the current page"?

Is there a way to use the variable "title of the current page" inside a pywikibot replace command?

我希望删除我的 pywikibot

| name = whatever

如果名称等于使用替换功能的页面标题,则来自维基百科信息框。有简单的方法吗?

要使用的代码应该是这样的:

$ python pwb.py replace -regex " *\| *name *\= "TITLEPAGE" *\n" ""

但我不确定这个选项是否存在于 pywikibot 中。

不幸的是,没有这样简单的方法。但是您绝对可以通过轻松创建自己的 replace.py 脚本在代码中使用它。之后你可以使用类似的东西:

$ python pwb.py my_replace.py

scripts/userscripts/my_replace.py 的内容可能如下所示:

# -*- coding: utf-8  -*-

import pywikibot, re

site = pywikibot.Site()
page = pywikibot.Page(site, 'Page you want to edit')
new_text = re.sub(r' *\| *name *\= ' + re.escape(page.title()) + r' *\n', r'', text)
page.text = new_text
page.save('remove param with page title')

或者您可以使用 generator 生成页面列表,例如:

# -*- coding: utf-8  -*-

import pywikibot, re
from pywikibot import pagegenerators

site = pywikibot.Site()
cat = pywikibot.Category(site,'Category:Pages with title in param')
gen = pagegenerators.CategorizedPageGenerator(cat)

for page in gen:
    new_text = re.sub(r' *\| *name *\= ' + re.escape(page.title()) + r' *\n', r'', text)
    page.text = new_text
    page.save('remove param with page title')

有关详细信息,请参阅 https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script