我正在使用windows vista,但我正在从DOS命令运行python。我有这个简单的python程序。 (它实际上是一个名为test.py的py文件)
import os
os.system('cd ..')
当我从Dos命令执行“python test.py”时,它不起作用。 例如,如果执行前提示Dos Command为:
C:\Directory>
执行后,必须是:
C:\>
帮助Plz。
答案 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。