title: Python subprocess.check_output('adb devices') return none
body: <p>Sorry for my poor English.Please try to understand that!</p>
  <p>The call to <code>subprocess.check_output('adb devices')</code> return none
  But in the window of CMD implementation ADB devices can normally display the connected phone, I don't know why</p>
  <p>System: Window 10<br />
  Python: 3.7.7</p>
  <pre><code>import subprocess
  process = subprocess.check_output('adb devices',shell=True)
  print(process)   # return b''
  </code></pre>
  <p>The same goes for subprocess.check_output(['adb','devices'],shell=True)</p>
  <p>In addition, when executing
  <code>subprocess.check_output(['adb','--version'],shell=True)</code>, # return b''</p>
  <p>But when I execute <code>subprocess.check_output(['adb','--help'],shell=True)</code>, I get the information</p>
  <pre><code># b'Android Debug Bridge version 1.0.41\r\nVersion 29.0.5-5949299\r\nInstalled as ...
  </code></pre>
  <p>Output:</p>
  <pre><code>E:\Server-test&gt;adb devices
  List of devices attached
  UQG0220430012553        device
  </code></pre>
  <p><a href="https://i.stack.imgur.com/Y4j9k.png" rel="nofollow noreferrer">enter image description here</a></p>
  <p>I also tried os.popen() and other methods, but they all ended up calling subprocess.popen (), and I called subprocess.popen () directly to get the same result</p>