如何 运行 Bash 带有参数的 Python 脚本文件

How to run a Bash Script file in Python with arguments

我正在寻找 运行 以下 bash 脚本 python:

sed -n -e '/SCN/,/^\s*$/p' $@ > Junction-Links.txt

bash 脚本保存为 ext-jun-links.sh 我想 运行 它使用 Python 传递文件名代替 $ @.

我目前正在尝试使用以下代码来执行此操作:

import subprocess
from subprocess import call
    
subprocess.run(["./ext-jun-links.sh","NETL1405.TXT"], shell=True)

但是,这给了我以下错误:

'ext-jun-links.sh' is not recognized as an internal or external command, operable program or batch file.

有没有办法解决这个错误? bash 文件 运行 在将 PowerShell 与以下代码一起使用时没问题,所以这不是问题所在:

bash ext-jun-links.sh 'NETL1405.TXT'

我认为这是因为您正在尝试通过 PowerShell 执行 bash 脚本。

bash ext-jun-links.sh 'NETL1405.TXT'

这行得通,因为您将 ext-jun-links.sh 和 'NETL1405.TXT' 作为参数提供给 bash。

尝试:

subprocess.run(["bash", "./ext-jun-links.sh","NETL1405.TXT"], shell=True)