为什么运行“os.system('cmd')”在Python中不起任何作用?

2024-06-26 17:49:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用Python运行命令提示符命令,但运行我的命令似乎什么也做不了。我传递给os.system的完整命令是:

'cmd /c "apt.bat"'

这应该运行apt.bat,并在此过程中打开另一个程序。然而,什么也没有发生。当我手动将相同的命令传递到命令提示符时,它会正确运行。因此,为了解决这个问题,我尝试运行:

os.system('cmd')

但什么也没发生。据我所知,这应该会打开命令提示符,但我可能错了。为了确保我的语法正确,并且os.system没有损坏或其他问题,我还尝试运行:

os.system('notepad')

打开记事本时不会出现问题。“cmd”有什么不同之处会导致它无法打开吗?我是否缺少一些语法?也许是许可

作为参考,我使用的是Windows 10。Python3.7,使用Spyder4


Tags: 命令程序cmdos过程windows语法apt
2条回答

语法:os.system(命令)

command:它是一种字符串类型,用于指示要执行的命令

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

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

os.system("cmd")

您将获得以下输出:

enter image description here

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

enter image description here

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

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

os.system("start cmd")

更新

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

os.system("cmd /c apt.bat")

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

相关问题 更多 >