我在python 2.7中导入zipfile模块时出现语法错误

时间:2016-10-31 17:51:03

标签: python python-2.7 zipfile

脚本中的python命令:

import zipfile

屏幕输出

Chetans-MacBook-Pro:work chetankshetty$ python myprog.py
Traceback (most recent call last):
  File "myprog.py", line 1, in <module>
    import zipfile
  File "/Users/chetankshetty/Documents/Work/zipfile.py", line 1
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    ^
SyntaxError: invalid syntax

Chetans-MacBook-Pro:work chetankshetty$ 

1 个答案:

答案 0 :(得分:2)

您正在尝试导入内置zipfile模块,但Python正在尝试导入名为zipfile.py的当前目录中的文件。这是因为Python Module Search Path

来自文档:

  

导入名为spam的模块时,解释程序首先进行搜索   对于具有该名称的内置模块。如果没有找到,则搜索   对于由。给出的目录列表中名为spam.py的文件   变量sys.pathsys.path已从以下位置初始化:

     
      
  • 包含输入脚本(或当前目录)的目录。
  •   
  • PYTHONPATH(目录名列表,语法与   shell变量PATH)。
  •   
  • 依赖于安装的默认值。
  •   
     

初始化后,Python程序可以修改sys.path。目录   包含正在运行的脚本放在。的开头   搜索路径,在标准库路径之前。 这意味着   将加载该目录中的脚本而不是加载的模块   库目录中的名称相同。这是一个错误,除非   打算替换。有关更多信息,请参见标准模块   信息。

Python没有查找内置zipfile.py的目录,因为它首先找到work / zipfile.py,它的语法无效,你可能根本不想导入。解决方案是重命名work / zipfile.py,以便Python可以找到正确的文件。