Python 3 子进程模块在运行“dir"时抛出错误在 Windows 上 [英] Python 3 subprocess module throws error running "dir" on Windows
问题描述
Python 3
中的这个简单程序会引发错误.可能是什么原因?在我安装/重新安装 Python 3.5/3.6
后出现了这个问题.另外 Python 2.7
安装在我的电脑(Windows 10 机器)上.
This simple program in Python 3
throws errors. What could be the reason? This problem arose after I installed/reinstalled Python 3.5/3.6
. Also Python 2.7
is installed on my PC (windows 10 machine).
import subprocess
out = subprocess.check_output(['dir'])
错误信息:
文件C:\Python36\lib\subprocess.py",第 336 行,在 check_output 中**kwargs).stdout
File "C:\Python36\lib\subprocess.py", line 336, in check_output **kwargs).stdout
文件C:\Python36\lib\subprocess.py",第 403 行,运行中以 Popen(*popenargs, **kwargs) 作为进程:
File "C:\Python36\lib\subprocess.py", line 403, in run with Popen(*popenargs, **kwargs) as process:
文件C:\Python36\lib\subprocess.py",第 707 行,initrestore_signals, start_new_session)
File "C:\Python36\lib\subprocess.py", line 707, in init restore_signals, start_new_session)
文件C:\Python36\lib\subprocess.py",第 990 行,在 _execute_child启动信息)
File "C:\Python36\lib\subprocess.py", line 990, in _execute_child startupinfo)
FileNotFoundError: [WinError 2] 系统找不到文件指定
FileNotFoundError: [WinError 2] The system cannot find the file specified
推荐答案
它不是可执行文件,而是 内置到外壳.Python subprocess 模块找不到它,所以你得到了一个错误.
It's not an executable, but built-in to the shell. Python subprocess module can't find it, so you got an error.
如果您想使用子进程模块,请使用一些现有的二进制文件,例如python
、notepad
或 ping
.如果您需要列出文件夹内容,请使用 os.listdir
或 os.walk
.
If you would like to play with subprocess module, use some existing binary, e.g. python
, notepad
or ping
.
In case you need to list folder content, please use os.listdir
or os.walk
.
这篇关于Python 3 子进程模块在运行“dir"时抛出错误在 Windows 上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!