[英]How to run an inline shell script from python?
我的python文件中的字符串中有一個小的Shell腳本。
現在,我想通過subprocess.call()
運行此腳本,我想知道什么是最好的方法。
我的第一個想法是將腳本寫入StringIO
並通過stdin=...
指定,但是很遺憾,您無法指定StringIO
因為它沒有fileno()
方法。
當然,我可以使用stdin=subprocess.PIPE
,然后使用subprocess.communicate()
對其進行寫入,但我想知道是否有更簡單的方法。
import subprocess
script = """
for x in 1 2 3 ; do echo $x ; sleep 1 ; done
"""
subprocess.call(['sh', '-c', script])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.