[英]Running bash_profile commands with python
在我的bash終端中,我可以運行以下命令:
$SCHRODINGER/run volume_calc.py -imae type.mae
這可以正常工作。
然后,我嘗試在python腳本中運行相同的命令; 我嘗試了以下方法:
import subprocess
subprocess.run(['$SCHRODINGER/run', 'volume_calc.py', '-imae', 'type.mae'])
引發錯誤:
FileNotFoundError: [Errno 2] No such file or directory: '$SCHRODINGER/run'
我很困惑這個問題可能是什么,因為我可以很好地運行基本的bash命令。 感謝您的任何幫助。
除非您將shell
參數傳遞給subprocess.run
調用,否則默認情況下不會使用子進程來完成環境變量的擴展。 這會將您的參數傳遞給外殼程序(例如bash
),該外殼程序將處理所需的擴展以及任何其他類似外殼程序的功能。
這是必要的代碼更改:
subprocess.run(['$SCHRODINGER/run', 'volume_calc.py', '-imae', 'type.mae'], shell=True)
請注意,值得閱讀使用python文檔中給出的安全注意事項 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.