I want to run this command from python mentioned here:
ffmpeg -f concat -safe 0 -i <(for f in ./*.wav; do echo "file '$PWD/$f'"; done) -c copy output.wav
But i can't even run this:
subprocess.run('for i in {1..3}; do echo $i; done'.split(), capture_output=True)
Error:
Traceback (most recent call last):
File "/media/russich555/hdd/Programming/Freelance/YouDo/21.intercom_record/test.py", line 36, in <module>
pr = subprocess.run(
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 546, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1022, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.11/subprocess.py", line 1899, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'for'
Process finished with exit code 1
Also tried add shell=True
:
subprocess.run('for i in {1..3}; do echo $i; done'.split(), capture_output=True, shell=True)
stderr output:
i: 1: Syntax error: Bad for loop variable
Also tried pass /bin/bash
, because documentation says that shell=True
using /bin/sh
subprocess.run('/bin/bash for i in {1..3}; do echo $i; done'.split(), capture_output=True)
stderr output:
/bin/bash: for: No such file or catalog