Python 3 子进程模块在运行“dir"时抛出错误在 Windows 上 [英] Python 3 subprocess module throws error running "dir" on Windows

查看:33
本文介绍了Python 3 子进程模块在运行“dir"时抛出错误在 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.

如果您想使用子进程模块,请使用一些现有的二进制文件,例如pythonnotepadping.如果您需要列出文件夹内容,请使用 os.listdiros.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆