系统找不到为check_output

时间:2016-10-24 08:32:03

标签: python python-2.7 subprocess kaggle

我在windows中运行以下命令:

from subprocess import check_output
check_output(["dir", "D:/C_Drive/Desktop/Kaggle"])

我遇到了以下问题," D:/ C_Drive / Desktop / Kaggle"目前是我桌面上的一个文件夹。

-- WindowsError                              Traceback (most recent call last) <ipython-input-9-6f7efc3bbf8c> in <module>()
     10 
     11 from subprocess import check_output
---> 12 check_output(["dir", "D:/C_Drive/Desktop/Kaggle"])
     13 
     14 # Any results you write to the current directory are saved as output.

C:\Program Files\Anaconda2\lib\subprocess.pyc in check_output(*popenargs, **kwargs)
    565     if 'stdout' in kwargs:
    566         raise ValueError('stdout argument not allowed, it will be overridden.')
--> 567     process = Popen(stdout=PIPE, *popenargs, **kwargs)
    568     output, unused_err = process.communicate()
    569     retcode = process.poll()

C:\Program Files\Anaconda2\lib\subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags)
    709                                 p2cread, p2cwrite,
    710                                 c2pread, c2pwrite,
--> 711                                 errread, errwrite)
    712         except Exception:
    713             # Preserve original exception in case os.close raises.

C:\Program Files\Anaconda2\lib\subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite)
    957                                          env,
    958                                          cwd,
--> 959                                          startupinfo)
    960             except pywintypes.error, e:
    961                 # Translate pywintypes.error to WindowsError, which is

WindowsError: [Error 2] The system cannot find the file specified

1 个答案:

答案 0 :(得分:0)

添加shell=True将被罚款

from subprocess 

import check_output print(check_output(["dir", "D:\\C_Drive\\Desktop\\Kaggle"],shell=True).decode("utf-8"))

受这篇文章的启发 Windows can't find the file on subprocess.call()