有没有办法在 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
我希望删除我的 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