在python 3.x中执行curl命令有什么修改吗



我在python 2.x版本中有一个可运行的代码,用于以下shell命令:

curl -XPOST localhost:5055/parse -d '{"q":"tell me about more info on covid", "projects": "ChatBot"}'

python2.x的脚本如下:

import shutil
import sys
import urllib2
import subprocess
import json
import subprocess, sys
import os, time
import string
import os.path
import os, glob
from datetime import datetime
inputArg="tell me about more info on covid"
data = '{"q":"' + inputArg + '", "projects":"ChatBot"}'
url = 'http://localhost:5055/parse'
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)

但当在Python 3.x版本中执行相同的脚本时:

它给出的错误如下:

Traceback (most recent call last):
File "main.py", line 3, in <module>
import urllib2
ModuleNotFoundError : No module named 'urllib2'
  • 请告诉我应该对代码进行哪些更改,以便在Python 3.x版本中执行。python 3.x版本需要哪些先决条件

我在不使用urlib.request:的情况下找到了这个问题的解决方案

$ cat test6.py
import requests
import json
inputArg="tell me about more info on covid"
data = {"q":inputArg , "projects":"ChatBot"}
params = json.dumps(data)
url = 'http://localhost:5055/parse'
r = requests.post(url, data=params)
print(r.text)
print(r.status_code, r.reason)

最新更新