簡體   English   中英

使用python運行bash_profile命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM