Python 2到Python 3:TypeError:';模块';对象不可调用
我正在尝试修改一段代码,该代码是用Python 2语言编写的,带有urllib2模块。我确实用Python 3中的urllib模块修改了代码,但出现了错误:Python 2到Python 3:TypeError:';模块';对象不可调用,python,python-3.x,urllib2,urllib,Python,Python 3.x,Urllib2,Urllib,我正在尝试修改一段代码,该代码是用Python 2语言编写的,带有urllib2模块。我确实用Python 3中的urllib模块修改了代码,但出现了错误: req = urllib.request(url) TypeError: 'module' object is not callable 我做错了什么 import urllib.request import json import datetime import csv import time app_id = "172" app_
req = urllib.request(url)
TypeError: 'module' object is not callable
我做错了什么
import urllib.request
import json
import datetime
import csv
import time
app_id = "172"
app_secret = "ce3"
def testFacebookPageData(page_id, access_token):
# construct the URL string
base = "https://graph.facebook.com/v2.4"
node = "/" + page_id
parameters = "/?access_token=%s" % access_token
url = base + node + parameters
# retrieve data
req = urllib.request(url)
response = urllib.urlopen(req)
data = json.loads(response.read())
print (json.dumps(data, indent=4, sort_keys=True))
换行
req = urllib.request(url)
response = urllib.urlopen(req)
致:
您可以找到有关此模块的更多信息**
**更改行
req = urllib.request(url)
response = urllib.urlopen(req)
致:
您可以找到有关此模块的更多信息**
**@kvmahesh的答案绝对正确。我将提供一个支持这两个版本的替代解决方案。使用Python的
请求
库进行调用
import requests
import json
import datetime
import csv
import time
app_id = "172"
app_secret = "ce3"
def testFacebookPageData(page_id, access_token):
# construct the URL string
base = "https://graph.facebook.com/v2.4"
node = "/" + page_id
parameters = "/?access_token=%s" % access_token
url = base + node + parameters
# retrieve data
response = requests.get(url)
data = json.loads(response.text())
print (json.dumps(data, indent=4, sort_keys=True))
有关请求的详细用法:@kvmahesh的回答绝对正确。我将提供一个支持这两个版本的替代解决方案。使用Python的
请求
库进行调用
import requests
import json
import datetime
import csv
import time
app_id = "172"
app_secret = "ce3"
def testFacebookPageData(page_id, access_token):
# construct the URL string
base = "https://graph.facebook.com/v2.4"
node = "/" + page_id
parameters = "/?access_token=%s" % access_token
url = base + node + parameters
# retrieve data
response = requests.get(url)
data = json.loads(response.text())
print (json.dumps(data, indent=4, sort_keys=True))
有关请求的详细用法:urllib.request是一个模块。您正在第22行呼叫模块
req = urllib.request(url)
要修复此问题,请执行以下操作:
1) 在顶部导入:
from urllib.request import urlopen
2) 然后将url传递给urlopen(url)
3) 在这里可以看到类似的错误
urllib.request是一个模块。您正在第22行呼叫模块
req = urllib.request(url)
要修复此问题,请执行以下操作:
1) 在顶部导入:
from urllib.request import urlopen
2) 然后将url传递给urlopen(url)
3) 在这里可以看到类似的错误