Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3 subprocess.run()获取系统找不到Windows docker容器中指定的文件_Python_Docker_Subprocess_Docker Container_Docker For Windows - Fatal编程技术网

python3 subprocess.run()获取系统找不到Windows docker容器中指定的文件

python3 subprocess.run()获取系统找不到Windows docker容器中指定的文件,python,docker,subprocess,docker-container,docker-for-windows,Python,Docker,Subprocess,Docker Container,Docker For Windows,跑步时 subprocess.runargs=['ls/'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True 在window docker容器中,出现以下错误: [WinError 2]系统找不到指定的文件 但它从未在我的windows主机上发生过 python版本:3.6.6 windows docker映像:winservercore:1803 有什么线索或建议吗?当你说 args=['ls /'] 您正在尝试运行一个名为l

跑步时

subprocess.runargs=['ls/'],stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True

在window docker容器中,出现以下错误:

[WinError 2]系统找不到指定的文件

但它从未在我的windows主机上发生过

python版本:3.6.6 windows docker映像:winservercore:1803

有什么线索或建议吗?

当你说

args=['ls /']
您正在尝试运行一个名为ls/的命令;在有常规文件扩展名的Windows上下文中,它可能被命名为ls/.exe。你可能是说这是两个独立的词,需要单独包含在参数列表中

args=['ls', '/']

不要指定shell=True。这是一个危险的选项,使您的脚本成为潜在的安全问题载体。

谢谢您,David,您的建议确实有效。然而,我只是想知道为什么我提供的方法可以在我的Windows10主机上使用完全相同的Python版本。此外,当我尝试在一行中执行两个命令时,如args=['ls','/',';','echo','1'],将出现错误,这似乎将echo 1解析为ls中的一个参数