在Python2.7中导入zipfile模块时出现语法错误

在Python2.7中导入zipfile模块时出现语法错误,python,python-2.7,zipfile,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",

脚本中的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$ 
Chetans MacBook Pro:work chetankshetty$python myprog.py 回溯(最近一次呼叫最后一次): 文件“myprog.py”,第1行,在 进口拉链 文件“/Users/chetankshetty/Documents/Work/zipfile.py”,第1行 ^ SyntaxError:无效语法 Chetans MacBook Pro:work chetankshetty$
您正在尝试导入内置的
zipfile
模块,但Python正在尝试导入当前目录中名为zipfile.py的文件。这是因为

从文档中:

导入名为
spam
的模块时,解释器首先进行搜索 对于具有该名称的内置模块。如果未找到,则进行搜索 对于指定目录列表中名为
spam.py
的文件 变量
sys.path
<代码>系统路径从以下位置初始化:

  • 包含输入脚本的目录(或当前目录)
  • PYTHONPATH
    (目录名列表,语法与 shell变量
    路径
  • 与安装相关的默认设置
初始化后,Python程序可以修改
sys.path
。目录 包含正在运行的脚本的文件被放置在 搜索路径,位于标准库路径之前这意味着 将加载该目录中的脚本,而不是 库目录中的名称相同。除非 打算更换。有关更多信息,请参阅“标准模块”一节 信息


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

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

从文档中:

导入名为
spam
的模块时,解释器首先进行搜索 对于具有该名称的内置模块。如果未找到,则进行搜索 对于指定目录列表中名为
spam.py
的文件 变量
sys.path
<代码>系统路径从以下位置初始化:

  • 包含输入脚本的目录(或当前目录)
  • PYTHONPATH
    (目录名列表,语法与 shell变量
    路径
  • 与安装相关的默认设置
初始化后,Python程序可以修改
sys.path
。目录 包含正在运行的脚本的文件被放置在 搜索路径,位于标准库路径之前这意味着 将加载该目录中的脚本,而不是 库目录中的名称相同。除非 打算更换。有关更多信息,请参阅“标准模块”一节 信息


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

不是myprog.py中有伪造的DOCTYPE行,而是zipfile.py-路径表明它是用户提供的,而不是内置的zipfile模块。把那个文件处理掉,你不需要它。谢谢。你说得对。不是myprog.py中有伪造的DOCTYPE行,而是zipfile.py-路径表明它是用户提供的,而不是内置的zipfile模块。把那个文件处理掉,你不需要它。谢谢。你是对的。