python - 关于为什么 os.system() 会失败的任何想法?

标签 python cmd os.system

我最近在一台新电脑上安装了 python。 我找不到 os.system() 失败或可能失败的原因。 我在我的主脚本中尝试了 os.popen() 和子进程,但这并没有解决问题。

最关心的是为什么 os.system() 的这个简单测试无法开始。

在命令提示符下:

>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v. 1500 32 bit (Intel)] on win32
>>> import os
>>> os.system("dir")
-1
>>> os.system("cmd /c dir")
-1
>>> import subprocess
>>> subprocess.call("dir", shell=True)
Traceback ...
...
WindowsError: [Error 2] System could not locate file
>>> exit()
dir
(list of files)

我以 dir 为例,但当我调用系统路径中包含的任何其他程序时,也会发生同样的事情。它将直接从 cmd 行运行,而不是通过 os.system 或子进程运行。

最佳答案

dir 不是可执行文件,它是 cmd.exe 命令。

尝试:

os.system("cmd /c dir")

subprocess.call("dir", shell=True)

关于python - 关于为什么 os.system() 会失败的任何想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11033703/

相关文章:

python - 使用 PCA9685 控制 LED

java - 我的 .java 文件是否必须与 JDK 位于同一硬盘驱动器上?如果不是,为什么 CMD 返回 java.lang.ClassNotFoundException?

android - 找不到图标路径的 Cordova Android 版本

python - os.system() 在 Ubuntu 中与 "strings"命令一起使用时不起作用

python - os.system 不将结果写入输出文件

python - 迭代 pandas 数据框并替换条目

python - 如何在 1.4.2 版本中执行 django syncdb?

python - 我想用排列计算 "distance_table = []"中两个值之间的差值,在这种情况下如何正确使用排列?

windows - 从 VBA 运行 command.com 或 cmd.exe 导致 MSG 命令出现问题

python - 为什么 os.system ('cls' ) 不清除最近的输出?