Python CMD目录导航

时间:2018-04-14 16:43:36

标签: python python-3.x

好的,所以我做了一个Python中间人。基本上,它接受用户输入并将其抛出命令提示符,然后返回输出。这是代码。

import os
console=True
while console==True:
    command=input(">")
    os.system(command)

问题是目录导航似乎不起作用。以下是使用cd命令时会发生的情况。

>cd
C:\Users\Username\Desktop\Stuff
>cd ..
>cd
C:\Users\Username\Desktop\Stuff

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

无法通过外部命令更改工作目录。您必须自己解析命令行:

command = input("> ")
cmd = command.split()
if cmd[0] == "cd":
    os.chdir(cmd[1])

当然,上面的代码只是一个例子,因为使用str.split()太过分了。如果你想要一个完全正常的“shell”,你需要处理引号和转义空格。

答案 1 :(得分:0)

问题是当你执行cd命令时它在另一个上下文中执行,它是另一个独立的进程,因为你的主进程永远不会改变目录。你应该使用os.chdir(path)方法