私はstrings
コマンドをPythonスクリプトの中で実行しようとしています。私はそれをしばらく働いていたが、不思議なことに、subprocess.Popen
をもう使用すると何も返されない。 Pythonシェルでは、端末Python 2.7のサブプロセスは何も返しません。正確なコマンドはコンソールで動作します
strings /path/to/.bashrc
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval `dircolors`
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
shopt -u -o history
から呼び出され
:
import subprocess
proc = subprocess.Popen(['strings', '/path/to/.bashrc'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
out, err = proc.communicate()
秒何も返さない
。どうして? subprocess documentationから
あなたは真のシェルを=使用しているのはなぜ? –