33

我正在尝试在我的一个脚本中使用 urllib.parse.urlencode() 方法。导入 urllib

#!/usr/bin/python3.2

import urllib

data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})

它以前可以工作,但现在我收到以下错误。

输出

Traceback (most recent call last):
  File "/home/rakesh/programming/test.py", line 8, in <module>
    data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})
AttributeError: 'module' object has no attribute 'parse'

最初我怀疑我的 python shell,但是当我检查它使用的是 python 3.2 版本时,它应该是 fiine。

现在我完全困惑为什么 python shell 会这样。我在这里错过了什么吗?

谢谢

4

1 回答 1

60

你没有在你的程序中显示导入,所以我不能确定,但​​我敢打赌你做到了

import urllib

这不会导入和重新导出单独的模块urllib.parse。做

import urllib.parse

反而。

import urllib在 Python 3.x 中是相当无意义的,因为所有功能都在子模块中,而这些不是由顶级模块导入的。)

于 2012-04-22T14:56:15.003 回答