Uma solução python3
:
from subprocess import Popen, PIPE
cmd_output = Popen(["echo", "foo"], stdout=PIPE)
with open('bar.txt', 'w') as out_handle:
out_handle.write(cmd_output.communicate()[0].decode('UTF-8'))
Ambiente - PyCharm
Estou usando o comando abaixo para obter o arquivo JSON: -
aws rds describe-db-cluster-snapshots > snapshotdetails.json
Estou usando esse arquivo Json para extrair alguns dados. Eu quero que o comando acima seja executado a partir do meu script Python. Eu tentei abaixo, mas está falhando: -
from subprocess import call
call(["aws rds describe-db-cluster-snapshots > snapshotdetails.json"])
Estou recebendo um erro e não está funcionando. Quaisquer ponteiros?
Erro: -
Traceback (most recent call last):File "/Users/PrashastKumar/Desktop/CrossRegion/venv/lib/crossregiontrial.py", line 3, in <module>
call(["aws rds describe-db-cluster-snapshots > snapshotdetails.txt"])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Uma solução python3
:
from subprocess import Popen, PIPE
cmd_output = Popen(["echo", "foo"], stdout=PIPE)
with open('bar.txt', 'w') as out_handle:
out_handle.write(cmd_output.communicate()[0].decode('UTF-8'))