Python SUBSPROCESS.run在windows中不工作-系统找不到指定的文件
我试图在VisualSutdio代码中使用子流程模块,但一直出现错误。代码如下:Python SUBSPROCESS.run在windows中不工作-系统找不到指定的文件,python,subprocess,Python,Subprocess,我试图在VisualSutdio代码中使用子流程模块,但一直出现错误。代码如下: import subprocess subprocess.run("dir") 或 错误是: Traceback (most recent call last): File "e:\Dropbox (Personal)\My Python\external\extrprg.py", line 2, in <module> subprocess.run("dir") File "E:\
import subprocess
subprocess.run("dir")
或
错误是:
Traceback (most recent call last):
File "e:\Dropbox (Personal)\My Python\external\extrprg.py", line 2, in <module>
subprocess.run("dir")
File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 472, in run
with Popen(*popenargs, **kwargs) as process:
File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
回溯(最近一次呼叫最后一次):
文件“e:\Dropbox(Personal)\My Python\external\extrprg.py”,第2行,在
子进程运行(“dir”)
文件“E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py”,第472行,正在运行
使用Popen(*popenargs,**kwargs)作为流程:
文件“E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py”,第775行,在uu init中__
恢复信号,启动新会话)
文件“E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py”,第1178行,在执行子进程中
startupinfo)
FileNotFoundError:[WinError 2]系统找不到指定的文件
我希望python运行
dir
,并提供目录中文件夹的列表dir
是cmd.exe
中的一个命令,这意味着您要执行以下操作:
subprocess.run(['cmd.exe', '/c', 'dir'])
虽然在运行subprocess.call之后,subprocess.run现在可以工作,但它只在我使用“shell=True”时工作。没有它也不行。对此有什么解释吗?解释是,
dir
是一个shell命令,而不是一个程序。如果使用shell=False
,则需要提供可执行文件的路径,而dir
不是可执行文件。
subprocess.run(['cmd.exe', '/c', 'dir'])