【发布时间】:2017-04-06 06:10:08
【问题描述】:
我有一个名为 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 模块捕获输出,现在它存储在一个变量中
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')
我有一个存储数据的字符串,我不希望通过这些组件获得所需的输出。 我可以做什么或参考解决这个问题?
【问题讨论】:
-
包括您捕获输出的尝试。
-
@AshishNitinPatil- 做过
-
删除
bash标签,因为它不是构造所需JSON的有效方法 -
生成
"email": ["abc@xyz.com", "bcd@dcd.com"]似乎是用 JSON 编码的更好方法。 -
为什么要在子进程中运行 Python?
import脚本并从您自己的脚本中调用其主要功能。这提高了凝聚力和性能。
标签: python json python-2.7 subprocess