【发布时间】:2017-09-04 21:06:47
【问题描述】:
我正在尝试使用 python 2.7.13 下载一个网页并逐行分析它。从记忆和四处搜索中,我发现以下代码 sn-p 足以逐行运行:
with s as f:
for line in f:
print line
变量s 由file.read() 定义,文件由urllib2 打开指定的url 定义。不幸的是,当我运行脚本时,我得到了这个语法错误:
Traceback (most recent call last):
File "a.py", line 12, in <module>
with s as f:
AttributeError: __exit__
老实说,我对自己做错的事情感到目瞪口呆,如果能深入了解我的错误,我将不胜感激。
【问题讨论】:
-
哪个版本的 Python 在
while循环的条件下采用as? -
你从哪里得到这个代码 sn-p?
-
'as' 关键字用于导入语句和异常。在这种情况下,您应该能够使用
for line in f:直接在文件对象上循环,而不需要 while 循环。 -
你的错误很简单:那不是有效的 Python,我现在不知道你认为你在完成什么。
-
我在这里找到了这个例子:stackoverflow.com/a/8010133/4415644