2

初心者の質問。Python スクリプト「feedparser.py」を別の Python スクリプト「ps5.py」にインポートしようとしています。両方のスクリプトは、デスクトップの同じフォルダー「MIT_OCW」にあります。「feedparser.py」を「ps5.py」にインポートしようとすると、インポート エラーが発生します (「ImportError: Feedparser という名前のモジュールがありません」)。エラーを診断するためにどのような手順を実行する必要がありますか (私はプログラミングが初めてです)? ありがとう。

4

5 に答える 5

3

This is code from ps5.py

import feedparser
import string
import time

These are the paths of feedparser.py and ps5.py

~/Desktop/MIT_OCW/problem set 5/ps5.py

~/Desktop/MIT_OCW/problem set 5/feedparser.py

もともとコードを実行したときに、「ImportError: Feedparser という名前のモジュールがありません」というメッセージが返されました。ただし、(何も変更せずに)再度実行しようとしたところ、機能しました。うまくいったことには満足していますが、そもそもなぜうまくいかなかったのかわからないことに不満を感じています。とにかく、助けてくれてありがとう。

于 2012-12-11T00:01:12.953 に答える
1

モジュールの名前は、拡張子を除いたファイル名です。したがって、feedparser.py をインポートするには、次を使用します。

import feedparser

feedparser から何かを使用するには、たとえば関数 f を使用するには、モジュールから次のように呼び出します。

feedparser.f()
于 2012-12-10T22:52:46.633 に答える
0

@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 では何でも動作します。

于 2020-08-16T05:55:15.563 に答える
0

ファイル拡張子を追加する必要はありません。

import feedparser

または、ファイル内の関数/クラスを頻繁に参照する予定で、ファイル内の関数/クラスを再定義する予定がない場合:

from feedparser import *

2 番目の方法を使用すると、「feedparser」を追加しなくても、feedparser ファイルで定義されたオブジェクトにアクセスできます。オブジェクト名の前に。それでもうまくいかない場合は、これを試してください(中括弧内のテキストを適切な単語に置き換えてください):

from {name of the directory in which the feedparser file is located}.feedparser import *

ありがとう!それがうまくいくことを願っています!

于 2021-09-09T04:00:04.750 に答える