【问题标题】:Getting a ton of errors on this script?这个脚本有很多错误吗?
【发布时间】:2014-08-30 01:41:43
【问题描述】:

我已经在这里待了 45 分钟。我迫切需要帮助。

当我运行这个时:

import urllib, urllib2

proxy = urllib2.ProxyHandler({
    'http': '127.0.0.1',
    'https': '127.0.0.1'
})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
# this way both http and https requests go through the proxy
urllib2.urlopen('http://www.google.com')
urllib2.urlopen('https://www.google.com')

我明白了:

Traceback (most recent call last):
  File "C:\Python27\Craig.py", line 1, in <module>
    import urllib, urllib2
  File "C:\Python27\lib\urllib2.py", line 94, in <module>
    import httplib
  File "C:\Python27\lib\httplib.py", line 79, in <module>
    import mimetools
  File "C:\Python27\lib\mimetools.py", line 6, in <module>
    import tempfile
  File "C:\Python27\lib\tempfile.py", line 35, in <module>
    from random import Random as _Random
  File "C:\Python27\random.py", line 3, in <module>
    print random.randint(0, 1) # prints either 0 or 1  (for me it printed 0)
AttributeError: 'module' object has no attribute 'randint'

更新:

修复了 random.py 问题,现在得到:

  File "C:\Python27\Craig.py", line 10, in <module>
    urllib2.urlopen('http://www.google.com')
  File "C:\Python27\lib\urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 501: Not Implemented

【问题讨论】:

  • 您的当前目录中似乎有一个文件random.py。一个建议 - 你工作的每个“项目”,创建一个新文件夹 - 可能在主目录中,以保持模块化。这样就可以避免此类错误。
  • 好的,我更改了它并得到了一个新错误。它在问题的下半部分。
  • 不要把它变成chameleon question。努力解决您的新问题,然后发布一个新问题 - 包括您为解决该问题所做的工作 - 如果您无法解决。
  • 我已经努力了。很长的时间值得。我就是想不通。
  • 尝试删除 https 代理,然后尝试。我可以工作

标签: python proxy urllib2


【解决方案1】:

您在当前目录中有一个名为random.py 的文件。将其重命名为 random_.py 之类的其他名称。

注意,使用 C:\Python27 中的文件进行开发可能不是一个好习惯。

【讨论】:

  • 你不应该在我回答完这个问题后全盘重写这个问题,因为其他人不会明白我的回答是指什么。改为向下添加更新。
  • 同意大卫。因此+1。您应该标记一个明确的 EDIT,或者创建一个新问题。
  • 我没有重写它。又增加了一行。
  • 你完全替换了原来的traceback。
  • @DavidK.Hess 确实令人困惑。我想知道你会从那个回溯中猜出一个现有的random.py(并且是正确的)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-29
  • 1970-01-01
相关资源
最近更新 更多