如何进入python shell_如何从Python执行shell脚本?

我有一个JSON文档中的shell脚本,我想用Python执行它。在

下面是我的JSON文档-{"script":"#!/bin/bash echo Hello World"}

我将反序列化上面的JSON文档,并提取其中的脚本部分,即实际的shell脚本,然后我需要从Python中执行该shell脚本。下面是我的代码,它将反序列化JSON文档并从中提取shell脚本。在

^{pr2}$

现在如何用相同的代码从Python执行shell脚本?在执行了上面的shell脚本之后,它应该响应helloworld

更新:-

这是我尝试过的方法,但在向shell脚本添加新行之后,它不起作用-#!/usr/bin/python

import subprocess

import json

jsonStr = '{"script":"#!/bin/bash echo Hello World \n"}'

j = json.loads(jsonStr)

print j['script']

print "start"

subprocess.call(j['script'], shell=True)

print "end"

以下是我得到的错误-Traceback (most recent call last):

File "shelltest.py", line 8, in

j = json.loads(jsonStr)

File "/usr/lib/python2.7/json/__init__.py", line 326, in loads

return _default_decoder.decode(s)

File "/usr/lib/python2.7/json/decoder.py", line 366, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode

obj, end = self.scan_once(s, idx)

ValueError: Invalid control character at: line 1 column 40 (char 40)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值