请问下列语句有错误么?用 python3

2017-09-16 11:01:01 +08:00
 aliehuhu
#!/usr/bin/python
import urllib.request
import urllib.error

try:
response = urllib.request.urlopen('https://www.baidu.com',timeout=2)
html = response.read().decode('utf-8')
print(html)
except urllib.error.HTTPError as e:
print('error')
3144 次点击
所在节点    Python
13 条回复
chinesejar
2017-09-16 11:10:04 +08:00
看似没有错误
qsnow6
2017-09-16 11:17:57 +08:00
没缩进
aliehuhu
2017-09-16 11:21:25 +08:00
@qsnow6 复制的时候有缩进,发布的时候没有了
infun
2017-09-16 11:26:15 +08:00
```
#!/usr/bin/python
```
哪里用 python3 了?
everfight
2017-09-16 11:34:41 +08:00
试了下应该是 error 的类型错了

#!/usr/bin/python
import urllib.request
import urllib.error

try:
response = urllib.request.urlopen('https://www.baidu.com',timeout=2)
html = response.read().decode('utf-8')
print(html)
except:
print('error')

打印的结果如下:
<html>
<head>
<script>
location.replace(location.href.replace("https://","http://"));
</script>
</head>
<body>
<noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>
</body>
</html>
nitro123
2017-09-16 15:01:45 +08:00
@infun 有些发行版默认就是 3
sunwei0325
2017-09-16 15:20:30 +08:00
#!/usr/bin/env python3
Valyrian
2017-09-16 15:28:43 +08:00
支持楼上,用 env
ChristopherWu
2017-09-16 18:21:54 +08:00
f
ChristopherWu
2017-09-16 18:22:24 +08:00
```
import urllib.request
import urllib.error

try:
response = urllib.request.urlopen('https://www.baidu.com',timeout=2)
html = response.read().decode('utf-8')
print(html)
except urllib.error.HTTPError as e:
print('error')
```
是没问题的。
输出的 html 也正常
wellsc
2017-09-16 18:29:35 +08:00
@infun 不算是错误,万一人家系统 python 默认版本就是 3 呢?
julyclyde
2017-09-16 22:56:38 +08:00
@wellsc 这个不合规。python3 的可执行文件不能叫 python,只能叫 python3
wellsc
2017-09-16 23:09:05 +08:00
@julyclyde 求出处

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/391161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX