当前位置: 首页 > 知识库问答 >
问题:

在Python中进行终端调用的方法,捕获返回的内容?

寿飞飙
2023-03-14

我现在正在做一个项目,将字符串传递到这个NLP API中,该API返回字符串情感分析的JSON对象。我承认我是Python新手:

http://text-processing.com/docs/sentiment.html

通过命令行调用API的留档很简单。当我打开终端并运行命令时,它可以正常工作。

curl -d "text=great" http://text-processing.com/api/sentiment/

在终端上运行该命令会产生:

{"probability": {"neg": 0.59309571705919506, "neutral": 0.5403849950008478, "pos": 0.40690428294080488}, "label": "neutral"}

我试图在Python中找到一种方法来使用相同的命令进行终端调用,并捕获JSON对象,对其进行解码,并在我的代码中使用它。

到目前为止,我发现在Python中使用以下代码是可行的:

import os
os.system('curl -d "text=great" http://text-processing.com/api/sentiment/')

然而,当我在Python文件中运行这一行时,它会打印出JSON对象。如何将输出保存到变量,然后转储字符串并在代码中使用JSON结果?

当我尝试时:

import os
sentiment = os.system('curl -d "text=great" http://text-processing.com/api/sentiment/')

它忽略我的变量赋值,并继续打印JSON对象。

有什么建议吗?

共有1个答案

方谦
2023-03-14

有几种方法可以做到这一点。与您的代码最相似的方法是使用子流程调用操作系统

import subprocess
process = subprocess.Popen(['curl', '-d', '"text=great"',
                            'http://text-processing.com/api/sentiment/'],
                             stdout=subprocess.PIPE)
stuff, err = process.communicate()

另一种方法是使用python包发出post请求。

import requests
response = requests.post(url='http://text-processing.com/api/sentiment/',
                         data="text=great").content
stuff = response.content
 类似资料:
  • 问题内容: 请参见以下代码,并解释输出行为。 结果是返回Val:10。 Eclipse显示警告:。 catch块中的return语句会怎样? 问题答案: 它被中的一个覆盖,因为它在所有其他操作之后执行。 这就是为什么,经验法则- 永不从回归。例如,Eclipse显示了该代码段的警告:“最终阻止无法正常完成”

  • 本文向大家介绍Python使用迭代器捕获Generator返回值的方法,包括了Python使用迭代器捕获Generator返回值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用迭代器捕获Generator返回值的方法。分享给大家供大家参考,具体如下: 用for循环调用generator时,发现拿不到generator的return语句的返回值。如果想要拿到返回值,必须

  • 我创建了一个接口,以便可以在对话和片段之间进行通信。 目标:当用户从对话框中选择任何内容时,应将其显示在文本视图中。 在这个界面中,我创建了一个界面方法,在主活动中调用,并传递用户在对话框中选择的值。与用户选择的值一起,在我的片段中,我创建了一个方法,将文本视图设置为该值。然而,每当我调用该方法时,它总是返回null。 我对日志进行了大量测试,发现通过我的方法传递的值不是空的,一切似乎都按照我想要

  • 问题内容: 我有一个程序可以执行为 这将安装一堆东西,并且屏幕上发生了很多活动。 现在,我正在尝试通过执行 希望所有发生在屏幕上的活动都被捕获在(或)中。但是,在进程运行时,内容直接打印到终端,而不会捕获到或中,在进程运行后,它们都为空。 这里会发生什么?如何捕获此内容? 问题答案: 通常,您所做的已经足以将所有输出传递到变量。 一个例外是,如果您正在运行的程序用于直接连接到其控制终端,并通过该终

  • 问题内容: 我想在其中捕获返回键,以便对当前标记的单元格执行某些操作。那就是:我希望用户在任何单元格处于高亮状态时按下键盘上的“返回/输入”键。按下该按钮应发出一种新方法。例如,显示带有该单元格内容的消息框。 如何将按回车键的事件连接到方法? 由于我是python的新手,所以我不知道该怎么做,并且感谢任何建议。 问题答案: 您的问题有点模棱两可。“捕捉返回键”是什么意思?有几种返回信息的方法。 如

  • 问题内容: 我正在寻找有关如何存储在对象内部的对象上调用的方法的pythonic解决方案。 因为在python中,如果我想捕获例如方法,我将像这样重载该运算符: 例如,如果要捕获一个具有其他属性的函数,我将使用此函数: 现在,我要寻找的是一种通用解决方案,可以捕获和存储on上调用的任何类型的函数,而无需实现所有重载和其他情况。如您所见,我还想存储方法的属性值(如果有多个,则 存储 在列表中? )。