1

我才刚刚开始使用和学习 Python,所以问这个问题似乎有些天真。在我的 Linux 系统上,如果我尝试使用来获取网页,urllib.urlopen()则会出现错误

Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "/usr/lib/python2.7/urllib.py", line 86, in urlopen  
    return opener.open(url)  
  File "/usr/lib/python2.7/urllib.py", line 207, in open  
    return getattr(self, name)(url)  
  File "/usr/lib/python2.7/urllib.py", line 344, in open_http  
    h.endheaders(data)  
  File "/usr/lib/python2.7/httplib.py", line 954, in endheaders  
    self._send_output(message_body)  
  File "/usr/lib/python2.7/httplib.py", line 814, in _send_output  
    self.send(msg)  
  File "/usr/lib/python2.7/httplib.py", line 776, in send
    self.connect()   
  File "/usr/lib/python2.7/httplib.py", line 757, in connect  
    self.timeout, self.source_address)  
  File "/usr/lib/python2.7/socket.py", line 553, in create_connection  
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):  
IOError: [Errno socket error] [Errno -2] Name or service not known  
>>>   

如果我尝试在我的 Windows 7 系统中安装的 Python 2.7 中执行相同的操作,它可以正常工作。
由于我是新手,我很难诊断问题。我试图研究它,但仍然没有任何答案。

所以我的问题是:

  1. urlopen()在那里工作但在 Linux 上没有 的 Windows 系统有什么不同。
  2. 需要做些什么来确保它urlopen()在 Linux 系统上工作。它对我来说很有必要,因为我正在开发的程序有一些 bash 命令调用,并且该程序广泛依赖于urllib.
4

0 回答 0