为什么运行“ os.system('cmd')”在Python中什么也不做?

问题描述 投票:0回答:2

我正在尝试使用Python运行命令提示符命令,但是运行我的命令似乎无济于事。我传递给os.system的完整命令是:

'cmd /c "apt.bat"'

这应该运行apt.bat,在此过程中打开另一个程序。但是,什么也没有发生。当我手动将同一命令传递给命令提示符时,它可以正常运行。因此,为了尝试解决这个问题,我尝试了运行:

os.system('cmd')

但没有任何反应。据我所知,这应该打开命令提示符,但是我对此可能是错的。为了确保我使用正确的语法并且os.system没有损坏或其他原因,我还尝试了运行:

os.system('notepad')

这将打开记事本,没有问题。 'cmd'是否有其他不同之处,可能导致其无法完全打开?我缺少一些语法吗?也许有权限?

供参考,我在Windows 10,Python 3.7上,使用Spyder 4。

python command-prompt os.system
2个回答
-1
投票

您的问题是cmd不是命令。您应该通过os.system('start cmd')模块使用subprocess.run('start', shell = True)subprocess


-1
投票

语法:os.system(command)

命令:它是字符串类型,告诉执行哪个命令。

返回值:在Unix上,返回值是进程的退出状态,而在Windows上,返回值是运行命令后系统外壳返回的值。

因此,当您从python shell运行以下命令时

os.system("cmd")

您得到此输出:

enter image description here

与从命令行运行相同命令时得到的输出类似:

enter image description here

即返回值是运行命令后系统外壳返回的值。

因此“使用python运行命令提示符”,请执行以下操作:

os.system("start cmd")

更新

要运行您要尝试的特定命令,只需删除单引号,请尝试以下操作:

os.system("cmd /c apt.bat")
© www.soinside.com 2019 - 2024. All rights reserved.