初学者问题。我正在尝试将 python 脚本“feedparser.py”导入另一个 python 脚本“ps5.py”。这两个脚本都位于我桌面上的同一个文件夹“MIT_OCW”中。当我尝试将“feedparser.py”导入“ps5.py”时,出现导入错误(“ImportError: No module named feedparser”)。我应该采取哪些步骤来诊断错误(我是编程新手)?谢谢。
5 回答
这是来自 ps5.py 的代码
import feedparser
import string
import time
这些是 feedparser.py 和 ps5.py 的路径
~/Desktop/MIT_OCW/问题集 5/ps5.py
~/Desktop/MIT_OCW/问题集 5/feedparser.py
最初,当我运行代码时,我得到了“ImportError:没有名为 feedparser 的模块”。但是,我只是尝试再次运行它(没有进行任何更改)并且它起作用了。我很高兴它有效,但很沮丧,我不知道为什么它一开始就不起作用。无论如何,谢谢你的帮助。
模块的名称是不带扩展名的文件名。所以要导入 feedparser.py,你可以使用:
import feedparser
要使用 feedparser 中的某些东西,比如函数 f,您可以从模块中调用它,例如:
feedparser.f()
实际上,我同意 munk 和 Rushy Panchalon 的观点。您应该执行以下操作:
import feedparser as feed
(或任何其他名称)
除非您的代码需要,否则您不需要导入字符串或时间。
我同意@munk,导入模块时不需要文件扩展名。
import feedparser
或者
import feedparser as f
from feedparser import * #not recommended at all
from feedparser import func1, func2 #where func1 and func2 are functions in your module
至少任何东西都适用于 Python3。
无需添加文件扩展名。
import feedparser
或者,如果您要非常频繁地引用文件中的函数/类,并且您将重新定义文件中的函数/类:
from feedparser import *
使用第二种方法将允许您访问在 feedparser 文件中定义的对象,而无需添加“feedparser”。在对象名称之前。如果这不起作用,试试这个(用适当的词替换大括号中的文本):
from {name of the directory in which the feedparser file is located}.feedparser import *
谢谢你!希望有效!