os.system在Python中不起作用

时间:2012-06-02 12:29:55

标签: python command system dos

我正在使用windows vista,但我正在从DOS命令运行python。我有这个简单的python程序。 (它实际上是一个名为test.py的py文件)

import os
os.system('cd ..')

当我从Dos命令执行“python test.py”时,它不起作用。 例如,如果执行前提示Dos Command为:

C:\Directory>

执行后,必须是:

C:\>

帮助Plz。

2 个答案:

答案 0 :(得分:5)

首先,您通常不想使用os.system - 请查看subprocess module。但是,这不会解决你的直接问题(只是你可能会跟踪一些问题) - 实际原因cd不起作用是因为它改变了子进程的工作目录 ,并且不影响Python运行的过程 - 为此,请使用os.chdir

答案 1 :(得分:0)

我并不真正使用Windows,但您可以尝试使用cmd /k yourcommandhere。这将执行命令,然后返回到CMD提示符。 例如,也许你可以这样做你想做的事情:

subprocess.call(['cmd', '/k', 'cd .. &&  prompt changed'])

正如我所说的,我不熟悉Windows,因此语法可能有误,但你应该明白这一点。

如果您不知道,这是一个不同于您启动python脚本之前的CMD实例。因此,当您退出时,您的python脚本应继续执行,完成后,您将返回到原始CMD。