繁体   English   中英

捕获python代码的输出并导出为JSON

[英]Capturing output of python code and exporting into a JSON

我有一个名为phone.py的文件,该文件给我输出为(在终端中):

+911234567890
+910123321423

可以有更多的输出。

另一个名为email.py的文件产生(在终端中):

and@abc.com
bcd@cdc.com

或者更多。

我有一个JSON文件,其结构如下:

{"One":"Some data",
 "two":"Some more data",
 "three":"Even more data"}

可能会有更多类似的部分。

现在,我想要捕获终端输出,并加载现有的JSON,最后,输出如下(作为JSON文件):

{Phone:"+911234567890,+910123321423", "Email":"and@abc.com,bcd@cdc.com","Sections":"{"One":"Some data",
 "two":"Some more data",
 "three":Even more data"}"}

我试图在python中使用子进程模块捕获输出,现在将其存储在变量中

subprocess.run(['python','email.py','filename.txt'], stdout= subprocess.PIPE)

输出:

CompletedProcess(args=['python', 'email_txt.py', 'upload/filename.txt'], returncode=0, stdout=b'abc@xyz.com\nbcd@dcd.com\n')

我有一个存储数据的字符串,而不希望通过这些组件获得所需的输出。 我该怎么办或参考解决这个问题?

您可以从标准输出subprocess.run只需resp.stdout ,其中resp是返回的对象。

正如Rishav所提到的,您需要将输出分配给变量,然后使用它来获取相关属性。

用法示例 -

>>> import subprocess
>>> out = subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE)
>>> out.stdout
b'crw-rw-rw- 1 root root 1, 3 Apr  6  2017 /dev/null\n'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM