1. ホーム
  2. Qt

Python スクリプトエラー AttributeError: 'module' オブジェクトに attribute'xxx' がない Solution

2022-02-24 08:21:17

最近、私は Python スクリプト作成中に遭遇する問題の1つは、かなり奇妙なものです。 Python スクリプトは全く問題なく動作するのですが、実行が常に はエラーを報告します。 " 属性エラー : ' モジュール ' オブジェクトには属性がありません。 'xxx'" です。これは実際には. ピク ファイルに問題があります。

問題の発生場所。

表示 インポート ライブラリのソースファイルが存在し、エラーがないこと、また、ソースファイルの. ピク ファイル

<スパン 問題解決

<スパン 1. 名称 <スパン パイ スクリプトを書くときは パイ 予約語、モジュール名などは同じです。

<スパン 2. ライブラリの.NET Frameworkを削除する。 ピク ファイル(pyスクリプトは実行するたびに.pycファイルを生成するので、.pycファイルがすでに生成されている場合、コードが更新されなければ、まだpycで実行されるので、.pycファイルを削除してください)を作成してコードを再度実行するか、コードを実行できる環境を探して、現在のマシンの.pycファイルをコピーして置き換えることができます。

以下のPythonのコードを実行すると エラーを報告する " 属性エラー : ' モジュール ' オブジェクトには属性がありません。 'urlopen'" のように、Python27Liburllib2.pycファイルを更新すると、正常に動作するようになりました。

<テーブル
1
2
3
4
import urllib2
url = "
http://www.baidu.com
"
f = urllib2.urlopen(url, timeout=5).read()
print len(f)

付録

pycファイルの紹介

pycファイルとは、pythonをコンパイルしたバイトコードファイルのことです。pyファイルを実行するたびに、pythonコンパイラは対応するpycバイトコードファイルを自動的に生成します。このpycバイトコードファイルは、pythonインタプリタの後に、実行するためのマシンコードを生成します(pycファイルがクロスプラットフォームでデプロイできるのは、javaのクロスプラットフォーム、javaでJVMが実行するバイトコードファイルと同様な理由によるものです)。次の呼び出しは、pyファイルを呼び出すことなく、直接pycを呼び出します。このpyファイルに変更があるまで、pythonインタプリタはpycファイルの生成時刻をチェックし、pyファイルの修正時刻を比較し、pyが更新されていれば、新しいpycを生成します。