首页 > 解决方案 > 'from X import a' 有效,但 'import X; Xa'没有

问题描述

将此片段集成到脚本中时,我想更改:

import pywikibot
from pywikibot import pagegenerators

site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()

sparql = "SELECT ?item WHERE { ?item rdfs:label 'Google'@en }"
entities = pagegenerators.WikidataSPARQLPageGenerator(sparql, site=repo)

至:

import pywikibot

site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()

sparql = "SELECT ?item WHERE { ?item rdfs:label 'Google'@en }"
entities = pywikibot.pagegenerators.WikidataSPARQLPageGenerator(sparql, site=repo)

(即试图将导入合并为一个)但它给了我一个错误:

AttributeError: module 'pywikibot' has no attribute 'pagegenerators'

(在我的桌面和云中的 Jupyter 笔记本上出现同样的错误)

我错过了什么?

标签: pythonpython-import

解决方案


Pagegenerators 不是属性,它是 pywikibot 中的一个模块:https ://m.mediawiki.org/wiki/Manual:Pywikibot/pagegenerators.py

子模块不会在此特定模块中自动导入,这就是您必须编写from pywikibot import pagegenerators.


推荐阅读