2

私はPythonを初めて使用し、標準ライブラリを学習しています。

以下のコードを実行すると、常にAttributeError... Andが発生します。importコマンドに問題があるようです。

また、インタラクティブなインタープリターで実行しようとすると、問題なく動作します。

サンプルコード

import tempfile
import os

#temp = tempfile.TemporaryFile()
temp = tempfile.mktemp()

print "tempfile","=>",temp

file = open(temp,"w+b")
file.write("*" * 1000)
file.seek(0)
print len(file.read()),"byte"
file.close()

try:
   os.remove(temp)
except OSError:
   pass

エラー出力

Traceback (most recent call last):
  File "tempfile.py", line 1, in <module>
    import tempfile
  File "/home/zhkzyth/codeRep/pytest/tempfile.py", line 5, in <module>
    tempfile = tempfile.mktemp()
AttributeError: 'module' object has no attribute 'mktemp'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
    from apport.report import Report
  File "/usr/lib/python2.7/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, urllib, re, pwd, grp, os
  File "/home/zhkzyth/codeRep/pytest/tempfile.py", line 5, in <module>
    tempfile = tempfile.mktemp()
AttributeError: 'module' object has no attribute 'mktemp'

Original exception was:
Traceback (most recent call last):
  File "tempfile.py", line 1, in <module>
    import tempfile
  File "/home/zhkzyth/codeRep/pytest/tempfile.py", line 5, in <module>
    tempfile = tempfile.mktemp()
AttributeError: 'module' object has no attribute 'mktemp'

私の環境

  • ubuntu12.04
  • python2.7
4

2 に答える 2

6

自分のファイルに名前を付けましたtempfile.pyか?その場合は、名前を変更し、すべての* .pycファイルを削除して、再試行してください。

PS:トレースバックでエラーの実際のテキストを提供すると、これらのことがわかります。

于 2012-12-27T16:54:48.577 に答える
-2

モジュール内のクラスまたは関数に属していない属性にアクセスしようとすると、AttributeError例外が発生します。この属性は、使用されているPythonインタープリターの新しいバージョンで非推奨になっている可能性があります。実行しているPythonのバージョンを確認し、dir(module)に使用しようとしている属性が含まれていることを確認することをお勧めします

于 2012-12-27T17:01:53.837 に答える