python-3.x - 在 python 3.x 中执行 curl 命令是否有任何修改?
问题描述
我在 python 2.x 版本中有一个可运行的代码,用于以下 shell 命令:
curl -XPOST localhost:5055/parse -d '{"q":"tell me about more info on covid", "projects": "ChatBot"}'
python 2.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 版本需要哪些先决条件?
解决方案
我在不使用 urllib.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)
推荐阅读
- python - How to limit a users integer input?
- android - Recycler 视图中的网格布局是切割前两项
- ios - How to do corners right with Cocoa Touch (iOS) Graphics Context Drawing?
- c# - 在 Jupyter Notebook 中加载和调用依赖的 C# DLL
- php - Alias Column Values Dynamically on Condition with PHP
- c# - 有没有办法从 Microsoft\Crypto\RSA\MachineKeys 文件夹中导入私钥?
- scala.js - 如何使 scala.scalajs.js.typedarray 类可用于 scala.js 交叉项目的 JVM 构建?
- python - 通过 http 连接到免费的 pythonanywhere 实例
- javascript - 在 pug 和回避指令中重写 Vue.js 代码
- numpy - 在 PyTorch/Numpy 中,如何将矩阵的行与 3-D 张量中的“矩阵”相乘?